Strust2
来源:互联网 发布:淘宝价格战 编辑:程序博客网 时间:2024/05/04 09:42
在web.xml 中配置
引入struts.xml
<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>*.action</url-pattern><dispatcher>REQUEST</dispatcher><dispatcher>FORWARD</dispatcher></filter-mapping><filter-mapping><filter-name>struts2</filter-name><url-pattern>*.jsp</url-pattern></filter-mapping>
Action 搜索顺序 http://localhost:8080/path1/path2/path3/monthSum.action
第一步:判断package是否存在,如 path1/path2/path3/
1.存在则再判断该action(monthSum)是否存在,不存在先去默认的namespace的package里寻找。若还没有就报错
2.不存在 则检查上一级路径的path是否存在(直到默认namespace)重复第一步, 最后没有则报错
URL根据 package中的namespace 和 action的 name进行匹配
Struts2算是挺旧的了,这里就没有深入去学习,只是了解个大概,对它留点印象。
动态方法调用
1.指定method属性 每一个方法都要在xml中配置 繁琐
<package name="default" namespace="/" extends="struts-default"><action name="monthSum" class="com.leaderSearch.monthSum.action.MonthSumAction"><result>/result.jsp</result></action><action name="addAction" method="add" class="com.leaderSearch.monthSum.action.MonthSumAction"><result>/add.jsp</result></action><action name="updateAction" method="update" class="com.leaderSearch.monthSum.action.MonthSumAction"><result>/update.jsp</result></action></package>访问的URL 如:http://localhost:8080/addAction.action
2.感叹号方式
可以根据URL来匹配方法名并执行 URL中的add是 monthSumAction中的方法,该方法返回一个String "monthSumAdd" 在result配置中对应相应的页面返回
<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant><package name="monthSum" extends="default"><action name="monthSum" class="com.leaderSearch.monthSum.action.MonthSumAction"><result name="monthSumAdd">/WEB-INF/page/monthSum/monthSumAdd.jsp</result><result name="monthSumEdit">/WEB-INF/page/monthSum/monthSumEdit.jsp</result></action></package>访问的URL 如:http://localhost:8080/monthSum!add.action
3.通配符方式
* 对应着输入的URL,然后作为参数传递到{1},{2}中区 该方法官方推荐
<package name="monthSum" extends="default"><action name="*_*" method="{2}" class="com.leaderSearch.monthSum.action.{1}"><result name="monthSumAdd">/WEB-INF/page/monthSum/monthSumAdd.jsp</result><result name="monthSumEdit">/WEB-INF/page/monthSum/monthSumEdit.jsp</result></action></package>
访问的URL 如:http://localhost:8080/MonthSumAction_add.action
struts2 中 前台向action中传值时有 三种方式
如在post方法下 , 有个 input框
1. action属性接收参数
name = username 后台 只要有个成员变量名为 userName 就直接将值 传入
2. DomainModel接收参数
后台 有多个对象并且其都有 username属性, 那么 前台的name = 对象名.username
3.ModelDriven 接收参数
action 实现 ModelDriven 接口,并将要传入值的对象作为参数代替泛型, 前台仍可以是 name = username
- Strust2
- strust2
- Strust2
- strust2标签
- Strust2 流程图
- strust2 ModelDriven
- Strust2入门
- strust2学习
- strust2--异常
- Strust2学习
- Strust2配置
- strust2共享
- Strust2值栈
- strust2框架
- Strust2验证
- Strust2人事管理系统
- strust2实践总结
- strust2实践总结
- OSX: 尝试禁止Bonjour广播带来的问题解决(10.11.x或更新)
- Unity开发基础——类型转换学习笔记
- 嵌入式学习-驱动开发-lesson7.1-网卡驱动架构分析驱动及CS8900流程分析
- Python读写csv文件
- Spring MVC 教程,快速入门,深入分析
- Strust2
- MHA (一)
- hdu5115 Dire Wolf--区间DP
- 在eclipse里点击help下的install new software无反应,解决办法
- X-code报错: Failed to instantiate the default view controller for UIMainStoryboardFile 'Main'
- javaFX exit the program(event filters, e.consume())
- Codeforces Round #364 (Div. 2) B
- UIButton的基本属性
- Java(Android)线程池