struts2返回结果的跳转方式

1.     <result>返回结果:跳转方式

dispatch:请求转发,默认值相应的跳转到jsp页面。并非Action

redirect:重定向,不传递参数的.跳转的应该是一个jsp页面。并非Action

redirectAction:重定向到一个action,不会传递相应的参数到下一个action

chain:链,请求转发到一个action,会传递相应的参数到下一个action    

stream:对象流对象,主要用于上传下载文件

action:

public class LoginAction extends ActionSupport{

//     通过对象方式取得到前台页面的数据

       private User user;

       public User getUser() {

              return user;

       }

       public void setUser(User user) {

              this.user = user;

       }

       /**

        * 登录方法

        */

       public String login(){

              System.out.println(user+"login");

              return SUCCESS;

       }

       /**

        *

        * @Description处理登录方法

        * @return

        * @author mengqx

        * @date   2017829

        */

       public String doLogin(){

              System.out.println(user+"doLogin");

              return SUCCESS;

       }

}

Struts.xml

<struts>

       <package name="default" namespace="/" extends="struts-default">

              <action name="login" class="com.bjsxt.action.LoginAction" method="login">

                     <!-- result

                     name属性表示action中的返回值 

                     type属性表示跳转方式 doLogin表示是一个Action。此时的Action:并不是指的某一个特定方法,

                     而是同<action> 标签创建出来的namedoLogin<action>

                     -->

                     <result type="chain">doLogin</result>

              </action>

              <action name="doLogin" class="com.bjsxt.action.LoginAction" method="doLogin">

                     <result type="redirect">/success.jsp</result>

                    

              </action>

       </package>

</struts>

Login.jsp

<center>

           <h1>登录</h1>

           <form action="login.action" method="post">

                 userName: <input type="text" name="user.name"/><br>

                 password: <input type="password" name="user.pwd"><br>

                 <!-- springMVC struts2 一个道理!都是通过对象.调用 -->

                 address: <input type="text" name="user.adr.name"><br>

               <input type="submit" value="login"/>

           </form>

      </center>

当一个Action中有多个return的时候。则需要在struts.xml中配置多个<result>标签。 Name属性对应的是前台return返回值。

public String doLogin(){

              if ("admin".equals(user.getName())) {

                     return SUCCESS;

              }else{

                     return LOGIN;

              }

       }

<action name="doLogin" class="com.bjsxt.action.LoginAction" method="doLogin">

                     <!--  因为方法中有两个return 所以对应的分支应该也有两个-->

                     <result name="success" type="redirect">/success.jsp</result>

                     <result name="login">/login.jsp</result>

              </action>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值