关于struts2在jsp页面如何提交list<自定义对象>?

问题描述

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传到页面去的。

这个方法不错

时间: 2024-09-19 06:03:22

关于struts2在jsp页面如何提交list&amp;lt;自定义对象&amp;gt;?的相关文章

struts2中jsp页面参数不能传递给action

问题描述 struts2中jsp页面参数不能传递给action struts.xml:<?xml version=""1.0"" encoding=""UTF-8""?><!DOCTYPE struts PUBLIC-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""http://struts.apache.or

用struts1框架对JSP页面注册提交数据问题

问题描述 用struts1框架对JSP页面注册提交数据问题 在JSP页面实现注册功能,在注册内容里有多选框,怎么把多选框的数据插入到数据库,使用struts1框架做的,是在action里面处理吗,还是form? 求大牛帮帮忙,谢谢! 解决方案 在form表单里面用action,method传输方式 解决方案二: action中通过requst获得参数

表单数据-使用springmvc中controller怎么实现JSP页面数据提交到oracle数据库,求代码。

问题描述 使用springmvc中controller怎么实现JSP页面数据提交到oracle数据库,求代码. 如何使用controller进行JSP页面输入数据的存储,如图,怎么写这个功能的代码,将咨询内容提交到后台数据库中,然后在后台管理的页面进行对该问题的回复.求大神给写个代码.谢谢. 解决方案 你要把数据传递到后台,然后在保存到数据库里面,建议使用Ajax操作,先把数据传递到后台,通过业务逻辑保存好了之后,再把你的回复通过Ajax的回调函数返回到界面 解决方案二: 怎么写的,求给个代码.

jsp页面如何获取Flex传过来的对象

问题描述 varloader:URLLoader=newURLLoader();varurlvalue:URLVariables=newURLVariables();urlvalue["img"]=jpgByteList;urlvalue["title"]=title;urlvalue["content"]=content;urlvalue["time"]=time;然传递给request.data=urlvalue;//请求

打听个事,jsp页面重复提交后怎么处理?

问题描述 jsp页面上有个按钮可以 引用 解决方案 如果后台是一条一条执行的话,执行前先根据业务判断一下是否是重复执行处理每条数据的地方可能要加锁解决方案二:不知道你的提交是什么动作,删除吗? 可以用同步试试解决方案三:按钮点击后,搞一个显示进度条的遮罩,这样啥都点不了了,可以做成通用的.解决方案四:可以在添加数据之前先删除数据,然后将新增和删除放在同一个事物里面.这样就算是重复提交,也是第二次提交的数据为准.第一次提交的数据已经被删除掉了.解决方案五:提交完成后, 把按钮灰点, 不让点, 或者

struts2中 jsp页面 空文本框传值 及action层不同类型的判断

struts2可以自动转换jsp前台传来的信息格式 前台jsp </pre><pre name="code" class="html"><form action="user_setInfo" method="post"> 名字<input type="text" value="" name="name"/><br/

jsp自动提交 或者说当用户访问这个jsp页面的时候不需要点击提交按钮就自动提交

问题描述 jsp自动提交 或者说当用户访问这个jsp页面的时候不需要点击提交按钮就自动提交 当转向此页面时,form自动提交. <form action="/OnlineBookStore20160504demo1/ServletForBook_user" id="form1" method="post"> </form> <script language="javascript"> for

ssh下jsp页面访问实体数据出现空指针异常

问题描述 ssh下jsp页面访问实体数据出现空指针异常 我用的是ssh框架,通过action访问实体数据没有问题,当在jsp页面中创建dao的实现类对象去访问数据就出错了.顺便问下spring的实体映射是在前台页面执行完之后进行的吗?我怀疑jsp页面中去访问的实体数据不存在.jsp中代码:,dao中代码

jsp-如何在JSP页面输出HTML文本而不被转义?

问题描述 如何在JSP页面输出HTML文本而不被转义? 对象的内容news.content=" 哈哈 " 在jsp中取对象 <div> ${news.content} </div> 实际效果: <div> <table><tr><td>哈哈</td></tr></table> </div> 但是我想要的结果是: <div> <table><