我有一个struts2配置文件,我根据属性设置URL有问题。
<action name="ABC" class="myAction" method="myMethod" >
<result name="direct" type="redirectAction">
<param name="namespace">/navigate</param>
<param name="actionName">logout</param>
</result>
<result name="nonDirect" type="redirectAction">{url.set.in.properties}</result>
</action>
为什么我需要它 - 因为这个URL对于差异环境(QA,UAT,prod等)可能不同。
那么可以在struts配置中使用属性设置(例如我们在spring上下文文件中使用它)吗?
另一个问题 - 网址应该是全球网址,例如“www.google.com”。目前它重定向到错误的网址“http:// localhost / package_name_here / http://www.goggle.com”
答案 0 :(得分:0)
您可以在myAction
属性myRedirect
中设置其getter和setter,使用属性设置(使用getText(...)
),然后在struts.xml
中使用它
<强> myAction 强>
class myAction extends ActionSupport {
...
private String myRedirect; // TODO: Getters and setters
...
public String execute () {
...
myRedirect = getText('url.set.in.properties');
...
}
}
然后在struts.xml中放置一个类型为redirect
的结果,以重定向到绝对URL:
<强> struts.xml中强>
...
<action name="ABC" class="myAction" method="myMethod" >
<result type="redirect">
<param name="location">${myRedirect}</param>
</result>
</action>
...