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
需要掌握以下五种类型:
* 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>