要在struts config xml文件中使用* .properties中设置的占位符

时间:2012-08-29 10:06:19

标签: java struts2

我有一个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”

1 个答案:

答案 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>
...