struts2

struts2 返回结果页面配置

2018-05-06  本文已影响0人  DouDouZH

一、全局结果页面

(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属性值:
配置到结果页面

配置到其他的action

(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
上一篇 下一篇

猜你喜欢

热点阅读