struts2 常用的结果类型,动态结果,异常处理,如何传递参数与常用的通配符映射
2011-06-23 21:06
831 查看
struts2常用的结果类型有dispatcher(默认),chain,redirect,redirectAction。在很多时候也用到struts2的异常处理。所谓的动态结果是指在程序执行期间才能确定要访问的url,这可以在配置文件使用ognl表达式。
redirect,redirectAction结果类型与如何传递参数的例子:
常用通配符映射
说明:
* 匹配0个或多个字符,但(/)字符不匹配
**匹配0个或多个字符,但包括(/)字符 (感觉不太常用)
{1}代表一个占位符,与news_*中的*相对应
如果是action的name=*_*,则{1}对应第一个*,{2}对应第二个 *,依此类推。
如果访问/news_list.action,则会执行HelloAction中的list或doList方法,这时候method=list,会跳转到listSucc.jsp页面
优先级问题:框架优先选择没有使用通配符的action映射
配置片段:
action代码片段:
redirect,redirectAction结果类型与如何传递参数的例子:
<!-- 重定向 --> <action name="helloDeleteR" class="cn.enjoylife.prac.action.HelloAction" method="delete"> <result name="success" type="redirect">/success.jsp</result> </action> <!-- 传递参数的两种方式与redirectAction(重定向到action)结果类型的使用 --> <action name="helloDeleteRA" class="cn.enjoylife.prac.action.HelloAction" method="delete"> <result name="success" type="redirectAction"> <param name="actionName">helloList</param> <param name="namespace">/</param> <!-- 通过这个节点可以配置要传递的参数,name=参数名 ${}是参数值,是ognl表达式,里面的内容为上面HelloAction中的属性 多个param节点可以传递多个参数 --> <param name="hello">${hello}</param> </result> </action> <action name="helloDeleteRA2" class="cn.enjoylife.prac.action.HelloAction" method="delete"> <result name="success" type="redirectAction"> <!-- 也可以通过以下的方式来传递多个参数,但是&一定要转义 --> <param name="actionName">helloList?id=${hello}&choose=true</param> <param name="namespace">/</param> </result> </action>
常用通配符映射
说明:
* 匹配0个或多个字符,但(/)字符不匹配
**匹配0个或多个字符,但包括(/)字符 (感觉不太常用)
{1}代表一个占位符,与news_*中的*相对应
如果是action的name=*_*,则{1}对应第一个*,{2}对应第二个 *,依此类推。
如果访问/news_list.action,则会执行HelloAction中的list或doList方法,这时候method=list,会跳转到listSucc.jsp页面
优先级问题:框架优先选择没有使用通配符的action映射
配置片段:
<action name="news_*" class="cn.enjoylife.prac.action.HelloAction" method="{1}"> <result name="success" >/{1}Succ.jsp</result> </action>
action代码片段:
public String doList() throws Exception { System.out.println("list..."); return SUCCESS; } public String doDelete() throws Exception { System.out.println("delete..."); return SUCCESS; }
相关文章推荐
- struts2的常量、动态方法调用、接受请求参数处理、类型转换
- struts2的action之间的参数传递和结果类型(转)
- 使用<a>标签调用struts2的action、传递动态参数、以及参数中出现加号等特殊字符的处理方法
- Java乔晓松-Struts2中通配符、常量、自定义类型转换器以及接受请求参数处理
- struts2的常量、动态方法调用、接受请求参数处理、类型转换 .
- Struts2动态方法调用和 如何传递参数(参考博客)
- struts2的action之间的参数传递和结果类型
- struts2 笔记01 登录、常用配置参数、Action访问Servlet API 和设置Action中对象的值、命名空间和乱码处理、Action中包含多个方法如何调用
- 4.struts2结果类型和struts2通配符和动态方法
- 1 异常的概述和体系结构: jvm处理异常的方式和try。。。Catch处理异常:异常的抛出:如何处理多个异常:Throwable的常用的方法:异常的分类 自定义异常:
- Struts2中如何接收前台传递的数据之基本数据类型,对象,和对象数组
- ibatis 参数和结果的映射处理
- Oracle数据库中字段定义为Char类型,Hibernate用该字段进行动态绑定参数查询,获取不到结果的问题
- Maven编译jar出现:无法确定 T 的类型参数的异常的原因和处理方案
- 如何向Struts2自定义标签传递一个动态值?
- struts2配置文件中url传递参数中文乱码处理
- url传递参数时有空格如何处理?
- struts2的动态方法调用(DMI)和通配符映射
- struts2三种常用结果类型以及action配置
- C#调用Win32 API如何处理指针类型的参数