zoukankan      html  css  js  c++  java
  • Struts2学习笔记(三):result配置的各项视图转发类型

    Struts 1:

    <action path="/user" type="org.sunny.user.action.UserAction" ...>
        <forward name="index">/index.jsp</forward>
        <forward name="redirect" redirect="true">/index.jsp</forward>
    </action>

      struts 1中将forward的属性redirect的值设置为true就可以进行网页的重定向。

    Struts 2:

      struts 2中的result配置类似于struts 1中的forward,但是struts 2中提供了多种结果类型,常用的类型有:dispatcher(默认值)、redirect、redirectAction以及plainText。

      在result中还可以使用${属性名}表达式访问action中的属性,表达式里的属性名对应action的属性。

    <result type="redirect">/index.jsp?id=${id}</result>

      type设置为redirectAction可以重定向到另一个action。

      重定向到同一个包中action

    <package name="sunny" namespace="/" extends="struts-default">
            <action name="user_*" class="org.sunny.user.action.UserAction" method="{1}">
                <result name="success">${pageContext.request.contextPath}/WEB-INF/jsp/success.jsp</result>
                <result type="redirectAction" name="indexAction">index</result>
            </action>
            
            <action name="index" class="org.sunny.index.action.IndexAction" method="execute">
                <result name="index">${pageContext.request.contextPath}/index.jsp</result>
            </action>
    </package>

      重定向到另一个包中的action

      包名相同,命名空间不同的情况:

    <package name="sunny" namespace="/" extends="struts-default">
            <action name="user_*" class="org.sunny.user.action.UserAction" method="{1}">
                <result name="success">${pageContext.request.contextPath}/WEB-INF/jsp/success.jsp</result>
                <result name="indexAction" type="redirectAction">
                    <param name="namespace">/shine</param>
                    <param name="actionName">index</param>
                </result>
            </action>
    </package>
        
    <package name="shine" namespace="/" extends="struts-default">
            <action name="index" class="org.sunny.index.action.IndexAction" method="execute">
                <result name="index">${pageContext.request.contextPath}/WEB-INF/jsp/index.html</result>
            </action>
    </package>

      包名和命名空间都不同的情况:

    <package name="sunny" namespace="/" extends="struts-default">
            <action name="user_*" class="org.sunny.user.action.UserAction" method="{1}">
                <result name="success">${pageContext.request.contextPath}/WEB-INF/jsp/success.jsp</result>
                <result name="indexAction" type="redirectAction">
                    <param name="namespace">/tbc</param>
                    <param name="actionName">index</param>
                </result>
            </action>
    </package>
        
    <package name="shine" namespace="/tbc" extends="struts-default">
            <action name="index" class="org.sunny.index.action.IndexAction" method="execute">
                <result name="index">${pageContext.request.contextPath}/WEB-INF/jsp/index.html</result>
            </action>
    </package>
  • 相关阅读:
    新站发布——寻爱交友网
    博客园居然还在运营
    关于Method类的invoke方法
    创建对象的四种方法
    事务操作
    数据库的并发
    run( )和start( )方法
    JAVA语言的下面几种数组复制方法中,哪个效率最高?
    构造函数问题
    上下转型的调用问题
  • 原文地址:https://www.cnblogs.com/FlyingPuPu/p/5217852.html
Copyright © 2011-2022 走看看