struts2-通配符和动态方法调用
2013-05-15 00:43
274 查看
通配符举例--BookAction
通配符举例--struts-pattern.xml
通配符举例—BookAction如何自定义方法
通配符映射
动态方法调用-这种方式不常用
•动态方法调用: 通过 url 动态调用 Action 中的方法
如果Action中存在多个方法时,我们可以使用!+方法名调用指定方法
•默认情况下, Struts 的动态方法调用处于激活状态, 若想禁用该功能, 则可以在 struts.xml 文件中添加如下 constant 元素:
<constant name="struts.enable.DynamicMethodInvocation" value="false"/>
Jsp页面的代码:
Action代码:
Action配置:
使用通配符定义action-相对于动态方法调用,开发中比较常用这种方式调用action中的方法
jsp页面代码:
Action配置:
全局结果
当多个action中都使用到了相同result,这时我们应该把result定义为全局结果
注:局部的会覆盖全局-但全局和局部同时存在时,局部的会覆盖全局的。
全局结果和局部结果的区别:
* 全局结果:对该包下所有的action配置起作用
* 局部结果:只对当前的action起作用
Struts2中 应用范围内action的实例,每个请求都会创建一个action实例-也就是对于每一个请求都会new一个Action对象。刷新或者回车
public class BookAction extends ActionSupport { public String execute() throws Exception { System.out.println("BookAction ********** execute()"); return null; } /* * 显示图书添加页面 */ public String add(){ System.out.println("显示图书添加页面"); return "add"; } }
通配符举例--struts-pattern.xml
<struts> <package name="pattern" namespace="/pattern" extends="struts-default"> <!-- method:指定执行调用action中的方法,如果不加该属性,默认调用action中的execute()方法 --> <action name="BookAction" class="cn.itcast.pattern.BookAction" method="add"> <result name="add">/pattern/BookAction.jsp</result> </action> </package> </struts>
通配符举例—BookAction如何自定义方法
在action中增加新的方法的要求: • 方法最好要用public修饰 • 方法的名称自定义 • 方法没有参数 • 方法的返回值为String 要定义的方法就是与execute方法的方法名称不同,其他的都一样,只有这样的定义方法struts2才识别 |
动态方法调用-这种方式不常用
•动态方法调用: 通过 url 动态调用 Action 中的方法
如果Action中存在多个方法时,我们可以使用!+方法名调用指定方法
•默认情况下, Struts 的动态方法调用处于激活状态, 若想禁用该功能, 则可以在 struts.xml 文件中添加如下 constant 元素:
<constant name="struts.enable.DynamicMethodInvocation" value="false"/>
Jsp页面的代码:
动态方法调用!形式:<br> <a href="${pageContext.request.contextPath}/pattern/BookAction!add.action">图书添加</a><br> <a href="${pageContext.request.contextPath}/pattern/BookAction!delete.action">图书删除</a><br>
Action代码:
import com.opensymphony.xwork2.ActionSupport; @SuppressWarnings("serial") public class BookAction extends ActionSupport { public String add(){ System.out.println("BookAction...add()"); return "add"; } public String delete(){ System.out.println("BookAction...delete()"); return "success"; } }
Action配置:
<action name="BookAction" class="cn.zengfansheng.struts.pattern.BookAction"> <result name="add">/pattern/BookAction.jsp</result> <result name="success">/pattern/success.jsp</result> </action>
使用通配符定义action-相对于动态方法调用,开发中比较常用这种方式调用action中的方法
jsp页面代码:
动态方法调用!形式:<br> <a href="${pageContext.request.contextPath}/pattern/BookAction!add.action">图书添加</a><br> <a href="${pageContext.request.contextPath}/pattern/BookAction!delete.action">图书删除</a><br>
Action配置:
<action name="*_*" class="cn.zengfansheng.struts.pattern.{1}" method="{2}"> <result name="add">/pattern/{1}.jsp</result> <result name="success"> <param name="location">/pattern/success.jsp</param> </result> </action>
全局结果
当多个action中都使用到了相同result,这时我们应该把result定义为全局结果
<package ....> <global-results> <result name="message">/message.jsp</result> </global-results> </package>
注:局部的会覆盖全局-但全局和局部同时存在时,局部的会覆盖全局的。
全局结果和局部结果的区别:
* 全局结果:对该包下所有的action配置起作用
* 局部结果:只对当前的action起作用
Struts2中 应用范围内action的实例,每个请求都会创建一个action实例-也就是对于每一个请求都会new一个Action对象。刷新或者回车
相关文章推荐
- 黑马程序员---struts2学习笔记之三通配符与动态方法调用
- Struts2基础之四:动态方法调用(DMI)和action通配符
- struts2——(8)(①3种情况通配符的使用方法②动态方法调用 )
- Struts2笔记——通配符和动态方法调用
- Struts2笔记——通配符和动态方法调用
- Struts2系列:(7)通配符和动态方法调用
- struts2的通配符映射和动态方法调用
- Struts2为应用指定多个配置文件和动态方法调用以及通配符的使用方法
- struts2动态方法调用和使用通配符定义action
- struts2学习(9)——动态方法调用和通配符
- struts2:动态方法调用与通配符定义action
- struts2动态方法调用和使用通配符定义action
- struts2-10动态方法调用和使用通配符定义action
- struts2的通配符和动态方法调用
- Struts2通配符和动态方法调用
- Struts2 1.动态方法调用(1.指定method2.感叹号方式3.通配符方式)2.隐藏后缀名(三种方式)
- Struts2学习②--动态方法调用和通配符设置
- struts2-通配符和动态方法调用(代码演示)
- struts2教程:10、动态方法调用和使用通配符定义action
- Struts2_ActionSupport和通配符映射和动态方法调用