美文网首页struts2
struts2 返回结果页面配置

struts2 返回结果页面配置

作者: DouDouZH | 来源:发表于2018-05-06 23:40 被阅读0次

    一、全局结果页面

    (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

    相关文章

      网友评论

        本文标题:struts2 返回结果页面配置

        本文链接:https://www.haomeiwen.com/subject/sllprftx.html