从struts2中的非默认位置加载资源包
struts2中有没有从文件系统加载属性文件的机制?我正在想出一个热部署机制。如果我更新 war 文件,它将被重新部署。我可以使用即时重新加载属性文件,
LocalizedTextUtil.clearDefaultResourceBundles();
LocalizedTextUtil.addDefaultResourceBundle("struts/resources");
但它只会在 struts2
默认位置中查找。
任何解决方案、黑客、解决方法都受到热烈欢迎。
Is there any mechanism to load the properties file from the file system in struts2
? I am coming up with a hot deployment mechanism. If I update the war file, it would be redeployed. I am able to reload properties file on the fly using
LocalizedTextUtil.clearDefaultResourceBundles();
LocalizedTextUtil.addDefaultResourceBundle("struts/resources");
but it would only look in the struts2
default location.
Any solution, hack, workaround is heartily welcomed.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
找到了解决方案
我首先在 struts.properties struts.custom.i18n.resources=globalMessages
中
然后,将以下代码添加到您的 StartupServlet 或其他将在服务器启动的位置执行的位置
I found a solution
first in struts.properties struts.custom.i18n.resources=globalMessages
then, add the below code to the your StartupServlet or some other place that will execute where the server start
您可以通过以下方式实现这一目标:
1.告诉struts使用某个属性包。
2. 将其添加到类路径
示例:
在 Struts.properties 中:
创建
globalMessages.properties
(以及任何特定于语言环境的包,例如globalMessages_ru_RU.properties ),将包放入名为
/app_conf/i18n
的文件夹中,最后将目录/app_conf/i18n
放入类路径中。You can achieve this by:
1. Tell struts to use a certain property bundle.
2. Add it to the classpath
Example:
In Struts.properties:
Create
globalMessages.properties
(and any locale specific bundles, such asglobalMessages_ru_RU.properties
), place the bundle(s) in a folder called/app_conf/i18n
and finally place the directory/app_conf/i18n
in the class path.