我正在尝试集成VelocityTools。ResourceTool来本地化速度模板,但无论我使用'bundles'参数,我总是得到以下错误:
java.util.MissingResourceException: Can't find bundle for base name
WEB-INF.conf.resources.ss_messages, locale en_US
我使用VelocityTools v1.4。以下是我的配置:
工具配置/WEB-INF/conf/misc/velocity/toolbox.xml
<tool>
<key>test</key>
<scope>request</scope>
<class>org.apache.velocity.tools.generic.ResourceTool</class>
<parameter name="bundles" value="WEB-INF.conf.resources.ss_messages"/>
<parameter name="locale" value="en_US"/>
</tool>
包:
WEB-INFconfresourcesss_messages_bg_BG.properties
WEB-INFconfresourcesss_messages_en_US.properties
两个文件的内容很简单:
full.name=u0421u0442 (for bg_BG.properties)
full.name=Joe Blow (for en_US.properties)
我的Velocity模板有如下代码:
HELLO $test.full.name
我为上面的name="bundles"
尝试了不同的值,即/WEB-INF/conf/resources/ss_messages
和./conf/resources/ss_messages
(转到根目录,然后引用ss_messages包)。
也,我试着把我的ss_messages。属性包文件在resources
文件夹在根和使用value="resources"
代替,但似乎没有工作…仍然得到相同的错误信息。
我做错了什么?是toolbox.xml
文件不在根目录中吗?到目前为止,我在整个应用程序中都成功地使用了toolbox.xml
。
资源应该在类路径上,并且这样配置。
参见ResourceTool
API文档