- 浏览: 991162 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (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 5276将jasperReport设计文件和编译文件放到webRoot ... -
Struts2 + JasperReport应用一:导PDF,Excel,HTML显示
2010-01-29 16:34 9883我用的是struts2.1.6,从struts2的自带的dem ... -
Struts2 标签使用简介
2009-12-23 19:33 2667web.xml配置如下: <fil ... -
Struts2 的OGNL使用简介
2009-12-22 13:25 2361<div align="center" ... -
POI与Struts2的使用 poi-2.5.1.jar
2009-09-25 17:43 4893一.POI 简介 Jakarta POI 是apache的子项 ... -
jFreeChart与Struts2的组合,将jFreeChart作为显示视图
2009-09-25 16:26 1487jFreeChart与Struts2的组合: 一,加 ... -
Struts2与Spring2.0的组合
2009-09-09 09:46 1059Struts2与Spring的集成: 一,加入Str ... -
Struts2的异常处理
2009-09-07 13:41 1386Struts2的异常处理: 1,定义自己的异常信息类:继承Ex ... -
Struts2.0深入学习 Strust2与Servlet API,Action多方法调用,result标签的type的类型
2009-09-06 11:08 4446Struts2深入探索: 1,package中的ab ... -
Struts2国际化详解
2009-09-03 15:32 2726Struts2国际化: 1,国际 ... -
Struts2文件下载
2009-09-02 20:09 10618Struts2文件下载: Struts2文件下载对应将一个In ... -
设置Struts2文件上传的类型和大小
2009-09-02 20:09 5230设置Struts2文件上传的类型和大小: 在struts. ... -
Struts2多文件上传
2009-09-02 20:08 2466Struts2多文件上传: 在Action中配置三个属性: p ... -
Struts2文件上传详解
2009-08-31 17:27 2398Struts2文件上传: 一:请选参看Struts2_9中的S ... -
Struts2.0文件上传原理
2009-08-31 13:12 3069Struts2文件上传默认采用apache的文件上传的包,新建 ... -
Struts2的监听器的使用
2009-08-25 19:02 2539Struts2的监听器: 一,建立监听器: ... -
Struts2的拦截器的使用详解
2009-08-25 18:59 2382Struts2的拦截器: 一,拦截器的使用: ... -
Struts2拦截器原理分析
2009-08-25 18:55 2384第一步:创建目标对象的接口 /** * 目标对象的接口 ... -
Struts2的检证框架详解
2009-08-25 13:00 2458Struts2的检证框架: 一,根据字段校验(为每一 ... -
Struts2的Action多个方法配置和验证
2009-08-18 20:16 4799Struts2的Action多个方法配置和验证: 1 ...
相关推荐
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系列(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入门.rar"可能包含了基础的教程内容,涵盖了以下几个关键知识点: 1. **...
这个"Struts2.0学习系列"旨在帮助初学者及进阶者深入理解并掌握Struts2.0的核心概念和技术。 在Struts2.0的学习过程中,首先需要了解的是其基本架构。Struts2.0框架整合了多种开源项目,如FreeMarker或JSP作为视图...
让我们深入探讨Struts2.0 API的核心概念、关键组件以及它们在实际开发中的应用。 首先,`Struts2.0中文教程.chm`可能包含对框架的详细解释,包括Action、Result、Interceptor等核心概念。Action是Struts2的核心,它...
JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0...
在Struts2.0中,Action的执行方法通常命名为execute(),但并不强制,可以通过配置文件指定任何方法作为执行入口。当Action执行完毕后,返回一个字符串,这个字符串将决定页面的流转方向,比如“input”可能指向输入...
Struts2.0是Java Web开发中的一个强大框架,它基于MVC(Model-...对于想要深入学习Java Web开发的人来说,掌握Struts2.0的知识点是必不可少的。通过阅读提供的资料,你可以逐步理解并熟练运用这个框架,提高开发效率。
本"Struts2.0中文学习大全"集合了丰富的资源,旨在帮助中文用户深入理解和熟练运用Struts2.0框架。 首先,中文帮助文档是学习的基础,它详细阐述了Struts2.0的核心概念、架构和组件。在文档中,你可以找到关于...
Struts2.0是Java Web开发中一个非常重要的框架,它是Apache软件基金会的Jakarta项目下的一个开源产品,主要用于构建MVC(Model-View-Controller)模式的应用程序。本入门案例将带你逐步了解如何使用Struts2.0来创建...
《Struts2.0深入浅出》一书详尽阐述了Struts2.0框架的原理、特性和最佳实践,是面向对Java Web开发感兴趣或正在从事相关工作的开发者的重要资源。Struts2.0作为第二代Struts框架,相较于其前身,引入了诸多改进和新...
Struts 2.0 采用了 MVC(Model-View-Controller)设计模式,将数据模型、用户界面以及业务逻辑分开处理,使得应用程序结构清晰、易于维护。 1. **什么是 Struts 2?** - Struts 2 结合了 JSP 和 Servlet 技术。 -...
Struts2.0是一款强大的Java Web框架,它在MVC(Model-View-Controller)设计模式的基础上,提供了灵活且强大的架构来构建企业级的Web应用程序。这个“Struts2.0 Jar包”包含了所有必要的库文件,使得开发者可以便捷...
**标题与描述解读:** "Struts2.0学习教程PDF"这一标题明确指向了Struts2.0框架的学习资料,而描述中的“Struts 2.0 学习教程 中文pdf版 图例讲解”则进一步强调了资料的中文语言特性以及通过图例进行深入浅出的讲解...
总之,《Struts_2.0从入门到精通》一书全面覆盖了Struts2.0框架的核心概念和关键技术,从环境搭建到实际应用,从基础知识到进阶技巧,为读者提供了系统而深入的学习指南。无论是初学者还是有一定经验的开发者,都能...
Struts 2.0 是一个基于 Model-View-Controller (MVC) 设计模式的Java Web应用程序框架。它并非Struts 1的直接升级,而是源自WebWork框架,提供了更强大的特性和灵活性。Struts 2的核心是Action,它是业务逻辑处理的...
Struts 2.0是Java Web开发中的一个关键框架,它是Apache软件基金会的顶级项目,融合了原本独立的Struts 1.x和WebWork框架的优势,为开发者提供了一个强大、灵活且可扩展的MVC(Model-View-Controller)架构。...
Struts2.0深入详解以及例子.part1 Struts2.0深入详解以及例子.part1