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>
  • 相关阅读:
    第08讲树
    第11讲简单算法
    【ZOJ1004】Anagrams by Stack
    【ZOJ1649】Rescue
    第10讲并查集
    网站建设与网页制作课件
    获取鼠标的坐标
    asp.net页面的默认回车事件
    NeatUpload的安装使用
    Page methods 执行顺序
  • 原文地址:https://www.cnblogs.com/FlyingPuPu/p/5217852.html
Copyright © 2011-2022 走看看