`
akunamotata
  • 浏览: 374516 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关于Struts2的action重定向

阅读更多

"redirect"实现action的重定向:

 

<result name="error" type="redirect">
    Register.action?username=${username}
</result>

 

 "redirectAction" 实现action的重定向:

 

<result name="error" type="redirectAction">
    <param name="actionName">Register</param>
    <param name="username">${username}</param>
</result>

 

 或者:

 

<result name="error" type="redirectAction">
    <param name="actionName">
        Register?username=${username}
    </param>
</result>

 

 

看了下"redirectAction"的实现类ServletActionRedirectResult.java,是这样描述的:

 

/**
 * <!-- START SNIPPET: description -->
 *
 * This result uses the {@link ActionMapper} provided by the {@link ActionMapperFactory} to redirect the browser to a
 * URL that invokes the specified action and (optional) namespace. This is better than the {@link ServletRedirectResult}
 * because it does not require you to encode the URL patterns processed by the {@link ActionMapper} in to your struts.xml
 * configuration files. This means you can change your URL patterns at any point and your application will still work.
 * It is strongly recommended that if you are redirecting to another action, you use this result rather than the
 * standard redirect result.
**/
 

 

 

它的意思是建议我使用这种方式来作action的重定向:

 

<result name="error" type="redirectAction">
    <param name="actionName">Register</param>
    <param name="username">${username}</param>
</result>

"This means you can change your URL patterns at any point and your application will still work."

显然这句话是Struts2强烈推荐使用的原因,但是不太能理解这句话。

 

 

分享到:
评论
3 楼 akunamotata 2011-02-04  
原来如此。。。谢过。。。
2 楼 dwangel 2011-02-04  
不是xml格式,历史原因,url传的文字最初是只能用iso8859的字符
其它的要用%20这种形式encode一下。

如果是用param标签,struts可以自动encode,而不需要自己写代码encode后传过去。
* because it does not require you to encode the URL patterns processed by the {@link ActionMapper} in to your struts.xml
1 楼 yjl6691088 2011-02-03  
E文我是不懂啦!不过就我使用来看,这两种方法的区别之一是当变量是中文时,是否乱码的问题。
Register.action?username=${username}这种方式要传中文的话应该要设置下编码格式的。。。貌似是xml的东西啦。。。
至于还有没有其它区别!等待高人呢。。。

相关推荐

    一个基于struts的重定向和转发实例

    在struts中测试登录的redirect,transmit 一个测试重定向和转发的demo。演示转发到jsp和action的过程。 供参考。

    Struts2入门教程(全新完整版)

    十二、总结 本教程对struts2的基本知识进行了一些说明,关于struts2的更多详细内容应参看struts2的官方文档及提供的app实例。 下面对struts2的基本执行流程作一简要说明,此流程说明可以结合官方提供的struts2结构图...

    解决struts2请求转发或重定向时,一个结果码无法对应多个视图的问题

    通过两个自定义结果集,解决struts2请求转发或重定向时,一个结果码无法对应多个视图的问题。以前的做法,是在配置Action时使用通配符解决,但这样需要JSP页面名称和Action的方法名称一致,如果命名不一致或不规范,...

    struts2漏洞.rar

    用户可以构造http://host/struts2-blank/example/X.action?action:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{'command','goes','here'})).start()}链接,command goes here可以换成是破坏脚本的...

    struts2中result类型之redirectAction

    struts2中result类型之redirectAction

    struts的教程.doc

    Struts ActionServlet控制器对象 8 Struts Action Classes 8 Struts Action Mapping 9 使用ActionForward导航 10 Struts ActionForm Bean捕获表单数据 11 Struts的其他组件 12 Validation Framework for ...

    java Struts教程

    Struts ActionServlet控制器对象 8 Struts Action Classes 8 Struts Action Mapping 9 使用ActionForward导航 10 Struts ActionForm Bean捕获表单数据 11 Struts的其他组件 12 Validation Framework for Struts 12 ...

    struts2-login校验.rar

    用tomcat服务器,通过struts.xml写的action来操作网页之间的重定向和对login数据的校验。(分为admin和user的login网页)

    struts 教程 很好很详细

    Struts ActionServlet控制器对象 8 Struts Action Classes 8 Struts Action Mapping 9 使用ActionForward导航 10 Struts ActionForm Bean捕获表单数据 11 Struts的其他组件 12 Validation Framework for Struts 12 ...

    Struts中文手册[文字版][中文]

    2. Struts 标记库13 2.1. Bean 标记.13 2.1.1. Bean 复制标记13 2.1.2. 定义脚本变量的标记.14 2.1.3. 显示 Bean 属性.15 2.1.4. 消息标记和国际化.15 2.2. 逻辑标记.16 2.2.1. 条件逻辑.17 2.2.2. 重复标记.18 ...

    struts 入门教程

    Struts ActionServlet控制器对象 8 Struts Action Classes 8 Struts Action Mapping 9 使用ActionForward导航 10 Struts ActionForm Bean捕获表单数据 11 Struts的其他组件 12 Validation Framework for Struts 12 ...

    Struts框架及标记库

    2 Struts标记库 14 2.1 Struts标记库 14 2.1.1 Bean标记 14 2.1.1.1 Bean复制标记 14 2.1.1.2 定义脚本变量的标记 15 2.1.1.3 显示Bean属性 16 2.1.1.4 消息标记和国际化 16 2.1.2 逻辑标记 17 2.1.2.1 条件逻辑 18 ...

    Struts in Action中文版

    2.6.2. Struts的强项........................................................................................................58 Struts in Action 中文版 Lastest Revised:10/14/2005 10:27:00 AM ...

    struts-2.3.15.1

    漏洞根源在于,DefaultActionMapper类支持以"action:"、"redirect:"、"redirectAction:"作为导航或是重定向前缀,但是这些前缀后面同时可以跟OGNL表达式,由于struts2没有对这些前缀做过滤,导致利用OGNL表达式调用...

    struts 1.2 跳转后css或js 无效解决方法

    struts 1.2 跳转后css或js 无效解决方法,不是重定向处理,可以正常使用你的action 或css 或js

    struts in Action

    2. 深入STRUTS 架构..................................................................................37 2.1. 随便谈谈.......................................................................................

    struts中文学习资料.doc

    2. struts体系结构(模型-视窗-控制器)…………………………………………………3 3. struts框架的组件………………………………………………………………………4 3.1 struts配置文件…………………………………………...

    java考试系统

    (D) struts2读取到struts.xml的内容后,会将内容封装进Action对象中并存放在内存。 ~ 3.在Struts中提供了多种返回结果类型,( )结果类型表示浏览器重定向转发,但是不能重定向到WEB-INF目录下的Jsp页面 。 (A)...

    我的博客园

    使用Struts2框架实现了业务请求的转发和重定向的跳转功能,进行result配置以json数据格式返回给客户端。并在SpringIoC容器中使用原型模式创建struts2框架中的每一个Action实例对象以及使用单例模式创建业务逻辑层...

    JAVA SSH青协志愿服务管理系统源码

    Struts 控制器(负责接收据+处理数据+响应结果(重定向+转)) Spring 工厂类 Hibernate 持久性访问层 *.hbm.xml(类—-表,属性–字段) 2注解 项目包 1,action 控制器 2,dao 操作数据库— 3,model 实体类模型 4...

Global site tag (gtag.js) - Google Analytics