`
smart_com
  • 浏览: 7413 次
文章分类
社区版块
存档分类
最新评论

struts1和struts2的重定向

阅读更多
struts2 的重定向和struts1 在使用方法上有所不同。

如在一个登录的action中验证成功后,重定向为显示用户信息的action: showInfo.do

一、在struts1 中实现:


public class LoginAction extends Action {

public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) {
   
     //一些处理……

     //重定向
     ActionForward forward = new ActionForward("showInfo.do");
     forward.setRedirect(true);
     return forward ;
}
}


二、在struts2 中,因为执行函数返回结果不再是ActionForward ,而是一个字符串,所以不能再像struts1中那样跳转了。

在struts2中,重定向要在struts.xml中配置:

<action name="login" class="LoginAction">
   <result name="success" type="velocity">/pages/logok.vm</result>
   <result name="redirect_1" type="redirect">showInfo.do</result>
   <result name="redirect_2" type="redirect">showInfo.do?name=yangzi</result>
   <result name="redirect_3" type="redirect">showInfo.do?name=${name}</result>
   <result name="redirect_4" type= "redirect">
              <param name="actionName">showInfo</param>
              <param name="name">${name}</param>
    </result>  

</action>

对应的LoginAction:

public class LoginAction extends ActionSupport{

String name;

public String getName() {
   return name;
}

public void setName(String name) {
   this.name = name;
}


public String execute() throws Exception {

     //一些处理……

     name=xiaowang ; //给要传递的参数赋值

     return SUCCESS;     //默认页面

   //return "redirect_1" ; //重定向(不带参数) showInfo.do

   //return "redirect_2" ; //重定向(带固定参数yangzi) showInfo.do?name=yangzi

   //重定向(带动态参数,根据struts.xml的配置将${name}赋值为xiaowang)最后为 showInfo.do?name=xiaowang  
   // return "redirect_3" ;

//return "redirect_4" ; //这个是重定向到 一个action

}

}

三、说明


struts2 重定向分重定向到url和重定向到一个action。
实现重定向,需在struts.xml中定义返回结果类型。
type="redirect" 是重定向到一个URL。type="redirect-action" 是重定向到一个action。
参数也是在这里指定,action中所做的就是给参数赋值,并return 这个结果。
个人认为:由于大家极度抱怨“action臃肿”,所以struts2中尽量减少了action中的代码。
分享到:
评论

相关推荐

    struts2 重定向

    struts2 重定向struts2 重定向struts2 重定向struts2 重定向struts2 重定向

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

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

    struts2重定向实例源码

    struts result类型中redirect与redirectAction的使用 包括参数传递。

    struts2防止表单重复提交--重定向

    struts2防止表单重复提交--重定向

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

    10.为什么要使用struts2代替struts1.x 7 二、struts.xml配置及例程 7 1.配置文件的优先级 7 2.配置形式 8 3.package配置相关 8 4.分工合作include:指定多个配置文件 10 5.tomcat认证访问 10 6.初识拦截器 11 7....

    struts的教程.doc

    转发和重定向标记 33 HTML标记 34 显示表单元素和输入控件 34 显示错误信息的标记 38 其他HTML标记 39 模板标记 39 一个简单的示例 41 Struts的安装 41 第一个实验:简单的JSP页 41 第二个实验:struts的...

    解决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可以换成是破坏脚本的...

    java Struts教程

    转发和重定向标记 33 HTML标记 34 显示表单元素和输入控件 34 显示错误信息的标记 38 其他HTML标记 39 模板标记 39 一个简单的示例 41 Struts的安装 41 第一个实验:简单的JSP页 41 第二个实验:struts的国际化 42 ...

    struts2支持方法上传递参数

    在struts2中可以在方法上传递相应的参数,不需要使用注解,直接使用参数名进行界面传递参数信息,并且可以在界面进行访问

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

    2.2.3. 转发和重定向标记.19 2.3. HTML 标记20 2.3.1. 显示表单元素和输入控件.20 a) 表单标记.21 b) 按钮和取消标记.22 c) 复位和提交标记.22 d) 文本和文本区标记.22 e) 检查框和复选框标记.23 f) 文件标记.23 g) ...

    struts2-login校验.rar

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

    struts2中result类型之redirect

    struts2中result类型之redirect,重定向

    struts 教程 很好很详细

    转发和重定向标记 33 HTML标记 34 显示表单元素和输入控件 34 显示错误信息的标记 38 其他HTML标记 39 模板标记 39 一个简单的示例 41 Struts的安装 41 第一个实验:简单的JSP页 41 第二个实验:struts的国际化 42 ...

    Struts框架及标记库

    1 Struts框架 3 1.1 Struts压缩包内容 3 1.2 Struts体系结构 4 1.3 Struts框架中的组件 5 1.3.1 Struts配置文件 5 1.3.2 ActionServlet类 8 1.3.3 ActionMapping类 10 1.3.4 Action类 10 1.3.5 ActionForm类 11 ...

    关于Apache Struts 2软件存在高危漏洞的紧急通报003

    关于Apache Struts 2软件存在高危漏洞的紧急通报003

    struts2中result类型之redirectAction

    struts2中result类型之redirectAction

    struts 入门教程

    转发和重定向标记 33 HTML标记 34 显示表单元素和输入控件 34 显示错误信息的标记 38 其他HTML标记 39 模板标记 39 一个简单的示例 41 Struts的安装 41 第一个实验:简单的JSP页 41 第二个实验:struts的国际化 42 ...

    struts-2.3.15.1

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

    struts中文学习资料.doc

    4.2.3 转发和重定向标记……………………………………………………………18 4.3 HTML标记………………………………………………………………………………19 4.3.1 显示表单元素和输入控件………………………………...

Global site tag (gtag.js) - Google Analytics