今天对struts的一些细节进行了详细讲解:
一个ActionMapping对象对应struts-config.xml文件中的一个<action>元素,读ActionMapping类的API帮助文档,通过各个setter/getter方法,即可了解<action>元素的各个属性的意义。
<action>元素的input属性可以指向一个logon.do这样的url,而不仅限于.jsp页面。
<action>元素的unknown属性的作用
讲解了ForwardAction的应用:
<action parameter="/WEB-INF/jsp/logon.jsp" path="/index" type="org.apache.struts.actions.ForwardAction"/>
<!-- action forward="/WEB-INF/jsp/logon.jsp" path="/index" /-->
通过上面的分析,请学员们回答为什么type属性与forward属性不能同时出现?
讲解了DispatchAction的应用,提问:如果覆盖DispatchAction的execute方法,将有什么效果?
分析了ActionFormBean与ActiornForm之间关系。
讲解了表单校验错误和业务逻辑校验错误的处理流程
1. 请求参数-->ActionForm-->ActionForm.validate-->表单校验错误则返回errors-->logon.jsp-->显示出错误信息
问题:要把errors存储在request中,谁存储的?
2.请求参数-->ActionForm-->ActionForm.validate-->表单校验成功则调用Action.execute方法
-->逻辑校验错误-->产生errors-->回logon.jsp显示错误信息
问题:这时候,谁把erros存储到request中?怎么存?在存储错误时,应该使用request.setAttribute("特殊属性名",erros);存入的属性名是一个固定的特殊名称,这样<html:errors>才能使用这个属性名从请求域中取错误。这个固定的特殊属性名是什么?如果记就太痛苦,那就让saveErrors来帮忙吧。讲课时先演示了直接使用request.setAttribute的情况,然后再使用saveErrors。
错误提示信息和普通信息都用ActionMessage,ActionMessage即代表错误,也代表消息。一个Message本身不是什么错误,只是我们把它的信息当作错误提示信息,还是当作普通信息来看罢了。使用saveErrors储存的ActionMessages对象表示错误,即以Globals.ERROR_KEY作为属性名进行存储,使用saveMessage存储的ActionMessage对象代表普通消息,即以Globals.MESSAGE_KEY作为属性名进行存储。
分析了ActionMessages内部的存储结构,同一字段名可以对应多条ActionMessage,例如:
errors.addMessage("age",new ActionMessage("error.age"));
errors.addMessage("age",new ActionMessage("error.old"));
有一特殊字段名ActionMessages.GLOBAL_MESSAGE,代表全局错误信息。
struts中提供的防止表单重复提交与取消提交的原理与应用。取消操作向Session域中存储一个特殊属性,其他操作在处理过程可以检索这个属性,如果检索到了则执行取消操作。
分享到:
相关推荐
Struts培训讲义Struts培训讲义Struts培训讲义
Struts培训课件,Struts培训教程
Struts基本知识培训Struts基本知识培训Struts基本知识培训
Struts培训PPT及源码,冻软的培训资料!
深入struts 深入struts 深入struts
java培训-struts2 MVC设计模式.ppt Struts2.ppt 过滤器.ppt
第一部分 Struts的优势 第二部分 Struts框架与MVC 第三部分 Struts工作流程 第四部分 Struts-config.xml的配置文件解析 第五部分 Struts中错误处理 第六部分 Struts实例操作
— Web应用的发展 — Model 1和Model 2 — MVC思想 — MVC模式的优势 — 常用MVC框架及其特征 — Struts 1的基本结构及其存在的问题 — WebWork的基本结构 — Struts 2的起源 ...— Struts 1和Struts 2的对比
很全面很基础的培训资料 网络下载,很好的资料 跟大家分享
struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别...
struts1培训课件struts1培训课件struts1培训课件
Struts2.0培训课件 Struts2.0培训课件
Struts2.0培训文档 Struts2.0培训文档
北大青鸟struts2.0培训基础教程北大青鸟struts2.0培训基础教程
我在培训的机构自己编的一个实用教程,实用性很强
本资源是Struts培训教程讲义,可以用来进行快速入门。
struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子
struts包struts包struts包struts包struts包struts包struts包struts包
struts上传struts上传 struts上传struts上传