首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

struts2执行跳转怎么像servlet一样,直接forward或者redirect

2012-01-15 
struts2执行跳转如何像servlet一样,直接forward或者redirect?如题,我现在想要的结果是,在struts2的action

struts2执行跳转如何像servlet一样,直接forward或者redirect?
如题,我现在想要的结果是,在struts2的action执行方法中拼接出一个url,在执行完action后直接跳转到这个url即可,如果在struts.xml中配置?谢谢

[解决办法]
给你代码参考下:
struts.xml里的:

XML code
.... <action name="allBrandsFind" class="/control/product/allbrandsfinder">      <result name="success">/WEB-INF/page/product/brandsinfo.jsp</result>    </action>    <action name="*BrandSave" class="/control/product/brandsaver" method="{1}">      <!--  使用自定义的Store拦截器,再两个action中传递msg -->      <param name="savePath">/upload</param>      <result name="input">/WEB-INF/page/product/inputbrandsaver.jsp</result>      <result name="success" type="redirectAction">        <param name="ActionName">allBrandsFind</param>      </result>    </action>....
[解决办法]
思路:
1,将此url设制到一个变量中,如变量url
2,返回至一个通用跳转界面
3,读取url变量,直接跳转到相应界面

参考代码如下:(此处的url为自定义对象)
public class UrlSupport extends BaseAction{
/** 要转向的url地址 */
protected Url url;

public Url getUrl() {
return url;
}
}
通用跳转界面:
<s:if test="url != null">
<script type="text/javascript">
setTimeout(function() {
window.self.location.href = "<s:property value="url.url"/>";
}, <s:property value="url.millisecond"/>);
</script>
</s:if>
[解决办法]
7楼和9楼正解,现在struts的action里定义一个url变量,在方法里拼完地址后
<action name="login" method="loginIn" class="loginAction">
<result name="success" type="redirect">${url}</result>
</action>

用这个就行了

热点排行
Bad Request.