JAVA框架Struts2 结果页配置

一:

Action类的返回逻辑视图,一般会出现一个场景就是:当前package 标签下,几个action类需要返回同一个页面的时候。这个时候需要全局结果。

全局结果(使用标签<global-result>)

 1     <package name="oop" namespace="/" extends="struts-default">
 2         <global-results>
 3             <result name="success" >demo/re.jsp</result>
 4         </global-results>
 5         <action name="hello" class="jd.com.action.SayHello" method="helloSttust">
 6             <!--<result name="oop" >demo/re.jsp</result>-->
 7         </action>
 8         <action name="test" class="jd.com.actioncontex.actioncon" method="getInfo">
 9             <!--<result name="ok">demo/test.jsp</result>-->
10         </action>
11     </package>

如果当前包内有全局和局部的结果页,优先局部页面。

二:结果页中的type类型:

我们在strust-default.xml可以查看结果类型。因为我们的结果页面result继承了strust-default

JAVA框架Struts2  结果页配置

需要掌握以下五种类型:

                * dispatcher        -- 转发.type的默认值.Action--->JSP
                * redirect            -- 重定向.    Action--->JSP
                * chain                -- 多个action之间跳转.从一个Action转发到另一个Action.    Action---Action
                * redirectAction    -- 多个action之间跳转.从一个Action重定向到另一个Action.    Action---Action
                * stream            -- 文件下载时候使用的

 其中redirectAction 的使用:需要注意result标签的type修改成:redirectAction   还有标签内容写相对的url。不要带action后缀和/斜杠。

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE struts PUBLIC
 3         "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
 4         "http://struts.apache.org/dtds/struts-2.3.dtd">
 5 <struts>
 6     <package name="demo" namespace="/" extends="struts-default">
 7         <action name="demo" class="jd.com.result.redac" method="demo1">
 8             <result name="success" type="redirectAction">demo2</result>
 9         </action>
10         <action name="demo2" class="jd.com.result.redac" method="demo2" />
11 
12     </package>
13 </struts>