Java 从struts.xml加载和读取属性文件
我正在使用Struts2创建一个项目 我正在以以下方式在struts.xml中设置Java 从struts.xml加载和读取属性文件,java,struts2,struts-config,Java,Struts2,Struts Config,我正在使用Struts2创建一个项目 我正在以以下方式在struts.xml中设置全局结果标记: <global-results> <result name="LOGIN" type="redirect">https://www.example.com</result> </global-results> https://www.example.com 我想知道是否可以从任何其他属性文件读取url,这样,如果将来url发生更改,我只需
全局结果
标记:
<global-results>
<result name="LOGIN" type="redirect">https://www.example.com</result>
</global-results>
https://www.example.com
我想知道是否可以从任何其他属性文件读取url,这样,如果将来url发生更改,我只需在属性文件中进行更改。如果可以的话,我怎样才能做到这一点呢?struts2中是否有类似于spring框架类的
PropertyPlaceHolderConfigure
的东西?我想出了一种方法来实现这一点:仅使用Struts,您无法读取属性名称-值对,但通过spring和action类,您可以读取属性名称-值对
使用SpringPropertySourcesPlaceholderConfigurer
我们可以从.properties
文件中读取${name.in.prop.file}
的值,因此我们可以在构造操作
bean时添加参数,如下所示:
<bean id="someAction" class="path.to.someAction" scope="session">
<property name="manager1" ref="manager1" />
<property name="manager2" ref="manager2" />
<property name="myWebsiteURL" value="${my.website.url}" />
</bean>
我唯一不明白的是,
${myWebsiteURL}
是如何计算的。春天?Struts?JSTL?(我的项目中不包括JSTL库)struts.xml
是您的配置。为什么要使用配置来配置配置?这有什么区别?基本上,struts.xml
只是任何其他属性文件。由于这个url,我必须在存储库中维护三个版本的代码。如果我可以从属性文件读取url,那么我只需要维护项目的一个副本。它基本上是为了在不同的环境中进行测试。您不也维护属性文件吗?为什么您认为Struts配置可以使用属性文件作为Struts.xml
中变量的占位符?
<action name="goToSomeSite" method="goToSomeSite" class="myAction">
<result name="success" type="redirect">${myWebsiteURL}</result>
....
</action>