日期:2014-05-17  浏览次数:20741 次

用struts的checkboxlist标签怎么传值进action
我想在JSP页面用checkboxlist取值传到action里面,
一直是空指针,控制台显示list是[]
Action代码:

private List<AtmSproduct> list;
private long supid;
private AtmSproductService atmSproductService;
private AtmSproduct a;
private List<AtmSupplier> aslist;

public String add(){
System.out.println("list:"+list);
if(list!=null&&list.size()!=0){
for(AtmSproduct a:list){
if(a!=null){
AtmSupplier as = new AtmSupplier();
as.setSupid(supid);
a.setAtmSupplier(as);
atmSproductService.add(a);
}
}
}
return "add";
}
JSP页面代码:

<s:select list="aslist" name="list.atmSupplier.supid" label="供应商名称" 
  listKey="supid" listValue="sname" style="width=130px"></s:select>

<s:checkboxlist list="aplist" listKey="pid" listValue="pname" 
  name="list.atmProduct.pid"></s:checkboxlist>

一直就是该死的万年空指针,谁知道jsp的页面代码哪边错了怎么解决


------解决方案--------------------
不用整的这么复杂吧!
把你的list用js拼接成json或xml格式的字符串,把这个字符串塞到一个隐藏域中,提交到action,
在action中解析一下这个json或xml,万无一失!
如果页面上一次提交N条数据到后台,我就这么处理,从不考虑用Struts的
Java code

private List list;
set...
get...

------解决方案--------------------
LZ可以参考一下http://www.blogjava.net/kissyan4916/archive/2009/04/28/267453.html,我就不在这儿陈述了,自己学习收获更大