快速业务通道

Struts2.0深入学习 命名空间,模型驱动,表单重复提交 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-25

Struts2.0深入学习 命名空间,模型驱动,表单重复提交

时间:2009-11-12 javaeye xiaobojava

Struts2深入探索:

1,package中的abstract="true"表示该package里面不能包函action元素

2,package中若指定namespace="/mynamespace"则:

<!-- 包的namespace要以"/"开头,对应的页面的路径前面也加上/mymengya/ActionName.action 如:<s:form action="/mymengya/register.action" method="post" theme="simple"> --> <package name="mengya" extends="struts-default" namespace="/mymengya"> <action name="register" class="com.mengya.action.RegisterAction"> <result name="success">/show.jsp</result> <result name="input">/index.jsp</result> <result name="invalid.token">/index.jsp</result> <interceptor-ref name="token"></interceptor-ref> <interceptor-ref name="defaultStack"></interceptor-ref> </action> </package>

在页面form的action中也要加上/mynamespase并且还要加上后缀action(不管是不是用的struts标签)

3,模型驱动

/** * 模型Bean * @author 张明学 * */ public class RegisterBean { private String username; private String password; public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } } Action则要接实com.opensymphony.xwork2.ModelDriven接口: public class RegisterAction extends ActionSupport implements ModelDriven { /** * 模型驱动,该模型Bean必须实例化 */ private RegisterBean loginBean = new RegisterBean(); public Object getModel() { return loginBean; } @Override public String execute() throws Exception { return SUCCESS; } }

Struts2.0深入学习 命名空间,模型驱动,表单重复提交(2)

时间:2009-11-12 javaeye xiaobojava

对应页面则可以直接用模型Bean的属性

如:

<tr> <td> 用户名: <s:textfield name="username"></s:textfield> <%-- 将form的theme="simple"就可以自由布局了,对于fielderror加上name属性就可以显示这个属生的错误信息 --%> <s:fielderror name="username"></s:fielderror> </td> </tr> <tr> <td> 密码: <s:password name="password"></s:password> <s:fielderror name="password"></s:fielderror> </td> </tr> <s:property value="username"/> <s:property value="password"/>

5,表单重复提交:

一,在form里面加上<s:token id="register"></s:token>标签

二,在Action里加上<interceptor-ref name="token"></interceptor-ref>拦截器

默认拦截器:<interceptor-ref name="defaultStack"></interceptor-ref>

三:原理:

当页面第一次生成的时候<s:token id="register"></s:token>会生成一个隐藏表单域其中包涵一个

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号