问题描述
action代码片段:...privateList<CustomObj>list;set...get......jsp代码片断:<s:iteratorvalue="list"status="stat"><s:textfieldname="list[%{#stat.index}].a"/><s:textfieldname="list[%{#stat.index}].b"/></s:iterator>我现在希望在页面编辑CutomObj对象的字段,搜索了一下,有的说直接这样写就可以;也有的说要加一个转换类,我都试过了,但都不成功,set方法根本不会被调用。希望大侠们指点一下,谢谢~~~
解决方案
解决方案二:
自己顶上去
解决方案三:
<%@pagelanguage="java"pageEncoding="utf-8"%><%@pagecontentType="text/html;charset=UTF-8"%><%@tagliburi="http://java.sun.com/jstl/fmt_rt"prefix="fmt"%><%@tagliburi="http://java.sun.com/jstl/core_rt"prefix="c"%><%@taglibprefix="s"uri="/struts-tags"%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"><html><head><title>数据显示</title><metahttp-equiv="pragma"content="no-cache"><metahttp-equiv="cache-control"content="no-cache"><metahttp-equiv="expires"content="0"><metahttp-equiv="keywords"content="keyword1,keyword2,keyword3"><metahttp-equiv="description"content="Thisismypage"></head><scripttype="text/javascript">functiondel(id){if(confirm("是否要删除吗?")){//method="post";action="curd!command.do?action=delete&uid="+id;window.location.href="curd!command.do?action=list";submit();}}functionaddPage(btn){varbtnvalue=btn.value;if(btnvalue=="go"){varid=document.frm.name.value;if(id.length>0){document.frm.action="curd!command.do?action=list&startIndex="+(id-1)*5;document.frm.submit();}else{alert('pleaseinputthemessage');document.getElementsByName('name').focus();}}else{window.location.href="curd!command.do?action=list";submit();}}</script><body><formaction=""><tableborder="0"cellpadding="4"cellspacing="4"><tr><td>ID</td><td>Name</td><td>pass</td><td>add</td><td>delete</td><td>update</td><td>details</td></tr><s:iteratorvalue="#request.list"var="list"status="s"><tr><td><s:propertyvalue="id"/></td><td><s:propertyvalue="name"/></td><td><s:propertyvalue="password"/></td><td><ahref="javascript:del(<s:propertyvalue="id"/>);"><imgsrc="image/add.gif"/></a></td><td><ahref="curd!command.do?action=delete&uid=<s:propertyvalue="id"/>"><imgsrc="image/del.gif"/></a></td><td><ahref="curd!command.do?action=update&uid=<s:propertyvalue="id"/>"><imgsrc="image/up.gif"/></a></td><td><ahref="curd!command.do?action=detail&uid=<s:propertyvalue="id"/>"><imgsrc="image/detail.gif"/></a></td></tr></s:iterator></table><tablewidth="100%"border="0"cellpadding="2"cellspacing="0"bordercolor="#4dddE7"><trbgcolor="#FFFFFF"><tdwidth="17%">${ps.totalCount}<ahref="curd!command.do?action=list&startIndex=0"><imgsrc="image/shou_r19_c4.jpg"/></a><ahref="curd!command.do?action=list&startIndex=${ps.previousIndex}"><imgsrc="image/shou_r19_c3.jpg"/></a><s:iteratorvar="i"value="#request.page"><s:iftest="#i==-1">...</s:if><s:elseiftest="#i==#request.ps.currentPage"><ahref="curd!command.do?action=list&startIndex=${(i-1)*5}"target="mainFrame"style="color:red;">${i}</a></s:elseif><s:else><ahref="curd!command.do?action=list&startIndex=${(i-1)*5}"target="mainFrame">${i}</a></s:else></s:iterator>跳转到第<selectname="startIndex"><optionvalue="-1">please</option><s:iteratorvar="it"value="#request.item"status="st"><s:iteratorvalue="it"var="d"status="s"><optionvalue="${d}">the<fmt:formatNumberpattern="#"type="number"value="${(d/5)+1}"maxFractionDigits="0"/>page</option></s:iterator></s:iterator></select>页<ahref="curd!command.do?action=list&startIndex=${ps.nextIndex}"><imgsrc="image/shou_r19_c2.jpg"/></a><ahref="curd!command.do?action=list&startIndex=${ps.lastPage}"><imgsrc="image/shou_r19_c5.jpg"/></a>${ps.pages}/${ps.currentPage}</td></tr></table></form><formaction="#"name="frm"method="post"><inputid="name"type="text"value=""name="d"/><inputtype="submit"name="submit"value="go"onclick="addPage(this);"><table><br><br><br><br><br><br><br><br><br><br><c:forEachitems="${list}"var="item"varStatus="s"><c:iftest="${s.index%2==0}"><tr></c:if><td>${item.name}</td><c:iftest="${l%2==1}"></tr></c:if></c:forEach></table></form></body></html>
解决方案四:
楼上的兄弟,看的我头晕,能看看我的问题出在哪里吗?我现在页面显示都没有问题,就是list传不到action中去。
解决方案五:
list传到action我们处理一般是action的list传到页面去的。
解决方案六:
在页面把数据构建成json数据,然后在后台转换成list就可以完成了前台通过循环构建jobJson=jobJson+"}";if(jobindex>1){jobJson=jobJson+",";for(i=2;i<=jobindex;i++){varCompany1=$("#Company"+i).val();varType1=$("#Type"+i).val();varSize1=$("#Size"+i).val();varIndustry1=$("#Industry"+i).val();varDepartment1=$("#Department"+i).val();varpostName1=$("#postName"+i).val();varworkDate1=$("#workDate"+i).val();varpostSalary1=$("#postSalary"+i).val();varjobDesc1=$("#jobDesc"+i).val();jobJson=jobJson+"{"+""company""+":""+Company1+"",";jobJson=jobJson+""type""+":""+Type1+"",";jobJson=jobJson+""size""+":""+Size1+"",";jobJson=jobJson+""industry""+":""+Industry1+"",";jobJson=jobJson+""department""+":""+Department1+"",";jobJson=jobJson+""title""+":""+postName+"",";jobJson=jobJson+""time""+":""+workDate1+"",";jobJson=jobJson+""salary""+":""+postSalary1+"",";jobJson=jobJson+""jobDesc""+":""+jobDesc1+""";jobJson=jobJson+"}";if(i<jobindex){jobJson=jobJson+",";}}}jobJson=jobJson+"]";后台转换成listpublicListgetList4Json(StringjsonString,ClasspojoClass){JSONArrayjsonArray=JSONArray.fromObject(jsonString);JSONObjectjsonObject;ObjectpojoValue;Listlist=newArrayList();for(inti=0;i<jsonArray.size();i++){jsonObject=jsonArray.getJSONObject(i);pojoValue=JSONObject.toBean(jsonObject,pojoClass);list.add(pojoValue);}returnlist;}
解决方案七:
引用4楼licip的回复:
list传到action我们处理一般是action的list传到页面去的。
这个方法不错