是的,通过提供
ResourceBundleTextProvider
的实现并在 struts.xml
配置文件中初始化它。
默认实现,
com.opensymphony.xwork2.TextProviderSupport
将文本查找推迟到com.opensymphony.xwork2.util.LocalizedTextUtil
。
有多种方法可以实现此目的,但如果您不需要任何默认的 S2 行为,可以从这里开始:
<bean type="com.opensymphony.xwork2.TextProvider" name="struts"
class="com.opensymphony.xwork2.TextProviderSupport" scope="default" />
提供您自己的
ResourceBundleTextProvider
实现,使用您想要的任何配置管理,例如,我们实现了一个数据库支持的版本(当然带有缓存),允许翻译存在于普通数据库和 I18N 中并由其管理前端。
我会看看这个周末是否可以挖掘我的原创作品并提供一个精简解决方案的链接。
运行应用程序时,文件的位置不能偏离类路径。您应该确定使用哪个类加载器来加载资源。然后,您应该找到一种方法来配置此类加载器,以便能够使用该位置作为资源。所以,这是可能的。一个简短的回答。