Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从struts.xml加载和读取属性文件_Java_Struts2_Struts Config - Fatal编程技术网

Java 从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发生更改,我只需

我正在使用Struts2创建一个项目

我正在以以下方式在struts.xml中设置
全局结果
标记:

<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类,您可以读取属性名称-值对

使用Spring
PropertySourcesPlaceholderConfigurer
我们可以从
.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>