关于chain,redirectAction回显问题

来源:互联网 发布:小苍淘宝店 编辑:程序博客网 时间:2024/06/12 00:00

action代码

public String add(){SysUser sysUser = SessionUtils.getSysUserFormSession(httpServletRequest);List<Company> companies =companyService.findAllCompanies();httpServletRequest.setAttribute("companies", companies);httpServletRequest.setAttribute("sysUser", sysUser);return "add";}public String save() throws IllegalAccessException, InvocationTargetException{LinkPerson linkPerson = new LinkPerson();BeanUtils.copyProperties(linkPerson, linkPersonForm);SysUser sysUser = new SysUser();if (linkPersonForm.getSysUserId()!=null) {Integer sysUserid = DataType.converterString2Integer(linkPersonForm.getSysUserId());sysUser.setId(sysUserid);linkPerson.setSysUser(sysUser);if (linkPersonForm.getCompanyId()!=null && linkPersonForm.getCompanyId().length()!=0) {Company company = new Company();Integer companyId = DataType.converterString2Integer(linkPersonForm.getCompanyId());company.setId(companyId);linkPerson.setCompany(company);}else {return "toAdd";//返回到add.jsp并且要求能回显之前填写的linkPersonForm 信息}return "toList";}return "toLogin";}

struts.xml

 <action name="linkPersonAction_*" class="linkPersonAction" method="{1}">    <result name="list">/WEB-INF/jsp/page/crm/customer/linkman/view.jsp</result>    <result name="toLogin" type="redirectAction">    <param name="actionName">sysUserAction_isLogin</param>            <param name="namespace">/sys</param>    </result>    <result name="toList" type="redirectAction">    <param name="actionName">linkPersonAction_list</param>    </result>    <result name="add">/WEB-INF/jsp/page/crm/customer/linkman/add.jsp</result>    <result name="toAdd" type="chain">    <param name="actionName">linkPersonAction_add</param>    </result>    </action>


注意此时type="chain" 这相当于把save()方法所在的action的参数linkPersonForm传到了,新的action中(@scope("prototype")),而新action又实现了modelDriven

@Overridepublic LinkPersonForm getModel() {return linkPersonForm;}

所以linkPersonForm有被放到了valuestack上,

所以在add.jsp可以回显

add,jsp

<body><table><s:form action="linkPersonAction_save.do" namespace="/crm" method="post"><s:hidden name="sysUserId" value="%{#request.sysUser.id}"></s:hidden><tr><th>姓名</th><td><s:textfield name="cnname"></s:textfield></td><th>性别</th><td><s:radio name="sex" list="#{'M':'男','W':'女'}"></s:radio></td></tr><tr><th>职务</th><td><s:textfield name="mobilePhone"></s:textfield></td><th>手机号</th><td><s:textfield name="duty"></s:textfield></td></tr><tr><th>qq号</th><td><s:textfield name="qqNum"></s:textfield></td><th>qq昵称</th><td><s:textfield name="qqNickName"></s:textfield></td></tr><tr><th>办公电话</th><td><s:textfield name="officePhone"></s:textfield></td><th>家庭电话</th><td><s:textfield name="homePhone"></s:textfield></td></tr><tr><th>电子邮件</th><td><s:textfield name="email"></s:textfield></td><td><s:select list="%{#request.companies}" name="companyId" headerKey="" headerValue="---------" listKey="id" listValue="name"></s:select></td></tr><s:submit value="提交"></s:submit></s:form><s:debug></s:debug></table></body>


原创粉丝点击