struts2 返回结果页面配置

一、全局结果页面

(1)解释

如果有多个action,方法的返回值相同,到达的页面也相同,这个时候用全局结果配置


image.png
(2)、全局结果页面的配置

struts.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <constant name="false" value="struts.enable.DynamicMethodInvocation"/>
    <constant value="true" name="struts.devMode"/>
            <package name="methoddemo" extends="struts-default" namespace="/">
                    <!-- 全局结果页面配置 -->               
                    <global-results>
                        <result name="hello">/HelloWorld.jsp</result>
                    </global-results>
                    <action name="hello1" class="cn.doudou.action.HelloAction">
                    </action>
                    <action name="hello2" class="cn.doudou.action.HelloAction1">
                    </action>
            </package>
</struts>

HelloAction

package cn.doudou.action;

import com.opensymphony.xwork2.ActionSupport;

public class HelloAction  extends ActionSupport{
    
    @Override
    public String execute() throws Exception {
        // TODO Auto-generated method stub
        System.out.println("hello1");
        return "hello";
    }
}

HelloAction1

package cn.doudou.action;

import com.opensymphony.xwork2.ActionSupport;

public class HelloAction1 extends ActionSupport {

    @Override
    public String execute() throws Exception {
        // TODO Auto-generated method stub
        System.out.println("hello2");
        return "hello";
    }
}

这样配置访问hello1和hello二都会跳转到HelloWorld.jsp页面

(3)、运行结果
image.png
image.png

image.png

二、局部结果页面

(1)、局部变量的配置
image.png
(2)、注意

即配置全局又配置局部,以局部配置为准

(3)、演示结果

即配置全局结果页面有配置局部结果页面

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <constant name="false" value="struts.enable.DynamicMethodInvocation"/>
    <constant value="true" name="struts.devMode"/>
            <package name="methoddemo" extends="struts-default" namespace="/">
                    <!-- 配置全局结果页面 -->
                    <global-results>
                        <result name="hello">/HelloWorld.jsp</result>
                    </global-results>
                    <action name="hello1" class="cn.doudou.action.HelloAction">
                    </action>
                    <action name="hello2" class="cn.doudou.action.HelloAction1">
                        <!-- 配置全局部果页面 -->
                        <result name="hello">/HelloWorld1.jsp</result>
                    </action>
            </package>
</struts>

访问跳转到局部结果页面


image.png

三、result标签的type属性

result标签除了name属性还有type属性

(1)、含义

type属性值:
配置到结果页面

  • 默认值:做转发操作,值是dispatcher
  • 重定向:redirect

配置到其他的action

  • 转发向到action:chain(一般不用)
  • 重定向到action: redirectAction
(2)、配置到结果页面代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <constant name="false" value="struts.enable.DynamicMethodInvocation"/>
    <constant value="true" name="struts.devMode"/>
            <package name="methoddemo" extends="struts-default" namespace="/">
                    <action name="hello1" class="cn.doudou.action.HelloAction">
                        <!-- 配置全局部果页面 请求转发 -->
                        <result name="hello" type="dispatcher">/HelloWorld.jsp</result>
                    </action>
                    <action name="hello2" class="cn.doudou.action.HelloAction1">
                        <!-- 配置全局部果页面 重定向 -->
                        <result name="hello" type="redirect">/HelloWorld1.jsp</result>
                    </action>
            </package>
</struts>
(3)、配置到结果页面运行结果
image.png

请求转发


image.png

重定向


image.png
(4)、配置到新的action代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <constant name="false" value="struts.enable.DynamicMethodInvocation"/>
    <constant value="true" name="struts.devMode"/>
            <package name="methoddemo" extends="struts-default" namespace="/">      
                    <action name="hello1" class="cn.doudou.action.HelloAction">
                        <!-- 转发到action -->
                        <result name="hello" type="chain">hello3</result>
                    </action>
                    <action name="hello2" class="cn.doudou.action.HelloAction1">
                        <!-- 重定向到action -->
                        <result name="hello" type="redirectAction">hello3</result>
                    </action>
                    
                    <action name="hello3" class="cn.doudou.action.HelloAction2">
                    </action>
            </package>
</struts>
(5)配置到新的action运行结果

页面


image.png

转发到hello3.action


image.png

执行了两个action


image.png

重定向到hello3.action
image.png

执行两个action


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,178评论 19 139
  • 概述 什么是Struts2的框架Struts2是Struts1的下一代产品,是在 struts1和WebWork的...
    inke阅读 6,725评论 0 50
  • 目录 1. 什么是Struts2 2. Struts2下载 3. Struts2的目录结构 4. Struts2中...
    深海鱼Q阅读 4,554评论 0 16
  • 非本人总结的笔记,抄点笔记复习复习。感谢传智博客和黑马程序猿记笔记啊记笔记 结果页面的设置 在action标签里面...
    键盘瞎阅读 3,573评论 2 4
  • 有一个矩阵map,它每个格子有一个权值。从左上角的格子开始每次只能向右或者向下走,最后到达右下角的位置,路径上所有...
    X_Y阅读 3,188评论 0 1

友情链接更多精彩内容