一、返回的类型ResultType
如:
<action name="r1">
<result type="dispatcher">r1.jsp</result>
</action>
dispatcher (跳到一个页面, 不能是Action:
服务器端跳转)
redirect (重定向:
客服端跳转)
chain (跳转到Action)
redirectAction (重定向Action)
其他的还有:
freemarker,
httpheader,
stream(下载),
velocity,
xslt,
plaintext,
tiles
。
服务器端跳转:客服请求---》服务器---》服务器里跳转。
客服端跳转:客服--》服务器----》返回客服端---》客服端重新请求----》服务器其他页面。
注意留意跳转时的网页地址。
二、重定向
网页重定向
我们在网站建设中,时常会遇到需要网页重定向的情况:
1. 网站调整(如改变网页目录结构);
2. 网页被移到一个新地址;
3. 网页扩展名改变 ( 如应用需要把.php改成.Html或.shtml ) 。
这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户得到一个404页面错误信息,访问流量白白丧失;再者某些注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主站点等。
重定向其他包中的Action。查文档就行。
<result type="chain">
<param name="actionName">dashboard</param>
<param name="namespace">/secure</param>
</result>
三、GlobalResults全局结果集
Global-result就是在一个包中大家可以共用的结果, 当返回的结果不存在时, 都可以返回他。
<global-results>
<result name=“xxxx">/main.jsp</result>
</global-results>
globalresult , 大家
共用的结果集!在这个package里面是共用的。省去了些多次的麻烦。
当想要其他包中也能用时:
<packagename=“admin” namespace=“/admin”
extends=“user”>用extends。
实际中叶用到
extends,和
继承抽象的用法是一样的!
四、dynamic-result动态结果
$号用来在配置文件中
往值栈里面取值。
<action name="user“ class="com.struts2.action.UserAction">
<result>${r}</result>
</action>
就是在类中定义的
属性
r取值,这个r已经放到
值栈中了。返回的结果可以由r来动态设定。
用的并不多,了解就可以!
五、带参数的结果集(ResultWithParams)
形如下面的:
<action name="user1" class="com.struts2.action.UserAction1">
<result type="redirect">/user_success1.jsp?t=${type}</result>
</action>