如图,我用一个用户可以正常用,保存数据在list里,然后再把list放到一个主单对象里同时保存到数据库;
但我再用另一个浏览器,另一个用户,在list里加入数据时,这是list集合的数据共享了,把在另一个用户的数据也给取出来了!我用的是struts2+spring+hiberante做的;
我试了好多方法,但都是一样!在这里特请大侠帮住,万分感谢javastruts2spring数据list
但我再用另一个浏览器,另一个用户,在list里加入数据时,这是list集合的数据共享了,把在另一个用户的数据也给取出来了!我用的是struts2+spring+hiberante做的;
我试了好多方法,但都是一样!在这里特请大侠帮住,万分感谢javastruts2spring数据list
开2个QQ空间登2个账号,你刷新一下前1个页面,会变成第2个账号的
很明显你第2张图换谷歌浏览器了
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import accp.bean.User;import com.oa.bean.ClaimVoucherDetail;
/**
* 明细报销单 管理
* @author liangrui
*
*/
public class VocherDetailsManger {
//明细集合
private static Map<String,List<ClaimVoucherDetail>> detailsMap=new HashMap<String,List<ClaimVoucherDetail>>();
//get==========================================================================
public static Map<String, List<ClaimVoucherDetail>> getDetailsMap() {
return detailsMap;
}//add==========================================================================
public static void addDetailsMap(String userName,ClaimVoucherDetail detail){
if(detailsMap.containsKey(userName)){//如果有的话
List<ClaimVoucherDetail> listDetils=detailsMap.get(userName);//取出list
ClaimVoucherDetail de=new ClaimVoucherDetail();
de.setItem(detail.getItem());
de.setAccount(detail.getAccount());
de.setDesc(detail.getDesc());
//关联主单
//de.setBizclaimVoucher(details.getBizclaimVoucher());
listDetils.add(de);//加入集合
detailsMap.put(userName, listDetils);
}else{
//第一次
List<ClaimVoucherDetail> listDetils=new LinkedList<ClaimVoucherDetail>();
ClaimVoucherDetail de=new ClaimVoucherDetail();
de.setItem(detail.getItem());
de.setAccount(detail.getAccount());
de.setDesc(detail.getDesc());
//关联主单
//de.setBizclaimVoucher(details.getBizclaimVoucher());
listDetils.add(de);//加入集合
detailsMap.put(userName, listDetils);
}
}
//remove================================================================
public static void removeDetailsMap(String username){
detailsMap.remove(username);
}
}