gpt4 book ai didi

java - 从 struts.xml 加载和读取属性文件

转载 作者:行者123 更新时间:2023-11-30 11:09:51 26 4
gpt4 key购买 nike

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

我按以下方式在 struts.xml 中设置 global-results 标签:

<global-results>
<result name="LOGIN" type="redirect">https://www.example.com</result>
</global-results>

我想知道我是否可以从任何其他属性文件中读取 url,这样如果将来 url 发生更改,我只需要在属性文件中进行更改。如果可以,那我该如何实现呢? struts2中有没有类似PropertyPlaceholderConfigurer类的spring框架?

最佳答案

我找到了一种实现此目的的方法:单独使用 Struts 无法读取属性名称-值对,但通过 Spring 和操作类可以。

借助 Spring PropertySourcesPlaceholderConfigurer,我们可以使用 ${name.in.prop.file}.properties 文件中读取值,因此我们可以在构造Action 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>

然后,在 Action 类中定义 java.lang.String 类型的 myWebsiteURL 及其 getter/setter,这样 Spring 就可以在 myWebsiteURL 在创建 Action 类时。

最后,在 struts.xml 中用 ${myWebsiteURL} 调用这个值(它工作的原因还有待调查,但它正在工作) .例如,你可以这样写:

<action name="goToSomeSite" method="goToSomeSite" class="myAction">
<result name="success" type="redirect">${myWebsiteURL}</result>
....
</action>

我唯一不明白的是 ${myWebsiteURL} 是如何计算的。随着 Spring ?支柱?江苏科技大学? (我的项目中没有包含 JSTL 库)

关于java - 从 struts.xml 加载和读取属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27983962/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com