- 浏览: 980083 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (223)
- JDBC技术 (29)
- Java Base (21)
- SSH框架的集合 (5)
- Javascript部分 (16)
- Sping2.5框架 (6)
- Hibernate框架 (19)
- JDBC中的数据库连接 (5)
- Ajax技术应用 (9)
- Java工具包下载 (3)
- Database (4)
- Java Web (13)
- 我的生活 (4)
- Struts2 (25)
- S2SH (1)
- Prototype (1)
- jfreeChart (5)
- JPA (7)
- JBPM (1)
- JasperReport (6)
- DWR (1)
- freeMark (2)
- IBatis (2)
- FCKeditor (2)
- POI (1)
- JQuery (6)
- JSON (1)
- JavaMail (3)
- Flex (2)
- CSS收藏夹 (1)
- 润乾报表 (2)
- 开源技术 (1)
- Android (2)
- Android_UI (1)
- Android_OS (6)
- Android_OpenLibs (3)
- Volley (1)
- JS_OpenLibs (1)
- Hessian (3)
- OS (1)
最新评论
-
damoluomu:
简单易懂
Java Web开发Session超时设置 -
di1984HIT:
学习了~~~~~~
Java Web开发Session超时设置 -
lord_is_layuping:
...
Java Web开发Session超时设置 -
15111285554:
...
Java Web开发Session超时设置 -
sfg1314:
暂停后重新下载就会报错:ClientAbortExceptio ...
Java Web 文件下载之断点续传
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;
}
}
对应页面则可以直接用模型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>会生成一个隐藏表单域其中包涵一个值,该值 也同样被存放到session当中去了
当页面第一次提交的时候token拦截器会比较这两个值是否相同,相同则第一次提交,第一次提交后会把session这个值清空,表单若再一次提交时则
session当中没有值即两个值不相同提交失败,返回的resut的name为:invalid.token 即:<result name="invalid.token">/index.jsp</result>
<s:form action="/mymengya/register.action" method="post" theme="simple">
<s:token id="register"></s:token>
<table width="50%">
<tr>
<td>
用户名:
<s:textfield name="username"></s:textfield>
<s:fielderror name="username"></s:fielderror>
</td>
</tr>
<tr>
<td>
密码:
<s:password name="password"></s:password>
<s:fielderror name="password"></s:fielderror>
</td>
</tr>
<tr>
<td>
<s:submit value="注册"></s:submit>
</td>
</tr>
</table>
</s:form>
<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>
修改Struts2默认的重复提交的错误提示信息:
在Struts2国际化属性文件中添加一条信息:
struts.messages.invalid.token = \u8868\u5355\u4e0d\u5141\u8bb8\u91cd\u590d\u63d0\u4ea4
struts.messages.invalid.token = 不能重复提交
- Struts2_12.rar (3.6 MB)
- 描述: Struts2.0深入学习 命名空间,模型驱动,表单重复提交实例
- 下载次数: 48
发表评论
-
Struts2 + JasperReport应用二:jasperReport Web形式打印
2010-02-02 16:16 5230将jasperReport设计文件和编译文件放到webRoot ... -
Struts2 + JasperReport应用一:导PDF,Excel,HTML显示
2010-01-29 16:34 9832我用的是struts2.1.6,从struts2的自带的dem ... -
Struts2 标签使用简介
2009-12-23 19:33 2613web.xml配置如下: <fil ... -
Struts2 的OGNL使用简介
2009-12-22 13:25 2317<div align="center" ... -
POI与Struts2的使用 poi-2.5.1.jar
2009-09-25 17:43 4849一.POI 简介 Jakarta POI 是apache的子项 ... -
jFreeChart与Struts2的组合,将jFreeChart作为显示视图
2009-09-25 16:26 1453jFreeChart与Struts2的组合: 一,加 ... -
Struts2与Spring2.0的组合
2009-09-09 09:46 1013Struts2与Spring的集成: 一,加入Str ... -
Struts2的异常处理
2009-09-07 13:41 1347Struts2的异常处理: 1,定义自己的异常信息类:继承Ex ... -
Struts2.0深入学习 Strust2与Servlet API,Action多方法调用,result标签的type的类型
2009-09-06 11:08 4404Struts2深入探索: 1,package中的ab ... -
Struts2国际化详解
2009-09-03 15:32 2685Struts2国际化: 1,国际 ... -
Struts2文件下载
2009-09-02 20:09 10575Struts2文件下载: Struts2文件下载对应将一个In ... -
设置Struts2文件上传的类型和大小
2009-09-02 20:09 5186设置Struts2文件上传的类型和大小: 在struts. ... -
Struts2多文件上传
2009-09-02 20:08 2423Struts2多文件上传: 在Action中配置三个属性: p ... -
Struts2文件上传详解
2009-08-31 17:27 2352Struts2文件上传: 一:请选参看Struts2_9中的S ... -
Struts2.0文件上传原理
2009-08-31 13:12 3037Struts2文件上传默认采用apache的文件上传的包,新建 ... -
Struts2的监听器的使用
2009-08-25 19:02 2498Struts2的监听器: 一,建立监听器: ... -
Struts2的拦截器的使用详解
2009-08-25 18:59 2343Struts2的拦截器: 一,拦截器的使用: ... -
Struts2拦截器原理分析
2009-08-25 18:55 2338第一步:创建目标对象的接口 /** * 目标对象的接口 ... -
Struts2的检证框架详解
2009-08-25 13:00 2410Struts2的检证框架: 一,根据字段校验(为每一 ... -
Struts2的Action多个方法配置和验证
2009-08-18 20:16 4751Struts2的Action多个方法配置和验证: 1 ...
相关推荐
struts2.0struts2.0struts2.0struts2.0struts2.0struts2.0struts2.0struts2.0struts2.0struts2.0
06 在Struts 2.0中实现表单数据校验(Validation) 07 Struts 2的基石——拦截器(Interceptor) 08 在Struts 2中实现IoC 09 在Struts 2中实现文件上传 10 在Struts 2中实现CRUD 11 Struts 2中的OGNL 12 trus 2的新...
为Struts 2.0做好准备 Struts作为MVC 2的Web框架,自推出以来不断受到开发者的追捧,得到用广泛的应用。作为最成功的Web框架,Struts自然拥有众多的优点: MVC 2模型的使用 功能齐全的标志库(Tag Library) 开放...
Struts 2.0系列(MAX),pdf格式,全方位介绍struts2: 常用的Struts 2.0的标志(Tag)介绍 Struts 2.0的Action讲解 在Struts 2.0中国际化(i18n)您的应用程序 转换器(Converter)——Struts 2.0中的魔术师 在Struts ...
Struts2.0视频教程,struts2.0中文教程,Struts2.0视频教程,struts2.0中文教程,
sstruts2.0 struts2.0sstruts2.0 struts2.0sstruts2.0 struts2.0sstruts2.0 struts2.0sstruts2.0 struts2.0sstruts2.0 struts2.0sstruts2.0 struts2.0sstruts2.0 struts2.0sstruts2.0 struts2.0
struts2.0的数据校验框架struts2.0的数据校验框架struts2.0的数据校验框架struts2.0的数据校验框架
struts2.0jar包 struts2.0包 struts2.0源文件
JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0...
struts 2.0 详细配置 struts 2.0 详细配置 struts 2.0 详细配置
此为Struts2.0最新Jar包,方便各位用于Struts2.0的开发.
清晰的介绍了Struts 2.0框架的工作流程,Action线程安全,程序入口,配置文件。
Struts2.0深入详解以及例子.part1 Struts2.0深入详解以及例子.part1
Struts2.0深入详解以及例子.part2 Struts2.0深入详解以及例子.part2
Struts2.0深入详解以及例子.part3 Struts2.0深入详解以及例子.part3
Struts2.0深入详解以及例子.part4 Struts2.0深入详解以及例子.part4
Struts2.0 入门学习 资料 Struts2.0 入门学习 资料
struts2.0 入门案例、简单的struts2.0入门案例 2.0配置包,基础
Struts2.0学习系列 以及 Struts2.0安装包 WORD文档里包含图片和文字,讲解非常详细, 一步一步的教你.