使用 Spring 框架将文件夹添加到 Velocity 中的类路径
如何将整个文件夹添加到 Velocity 并将其中的文件用作资源包?
目前在我的velocity.xml 中,我有以下代码:
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="parentMessageSource">
<ref bean="globMessageSource"/>
</property>
<property name="basenames">
<list>
<value>classpath:/WEB-INF/i18n</value>
<value>/WEB-INF/templates/velocity/my_vm_template</value>
</list>
</bean>
我需要将 i18n 文件夹添加到类路径中,以便 toolbox.xml 中的 VelocityTools 版本 1.4 可以看到它包含的文件:
<tool>
<key>test</key>
<scope>request</scope>
<class>org.apache.velocity.tools.generic.ResourceTool</class>
<parameter name="bundles" value="i18n.ss_messages"/>
<parameter name="locale" value="en_US"/>
</tool>
该代码给了我一条错误消息:“java .util.MissingResourceException:找不到基本名称 i18n.ss_messages、语言环境 en_US 的包”
抱歉,如果这是一个愚蠢的问题,但是我找不到任何地方描述如何将整个文件夹添加到类路径并作为捆绑包提供,以便它可以支持 Velocity 模板本地化。
重要提示!!如果我将 ss_messages_bg_BG.properties 和 ss_messages_en_US.properties 文件放在 /WEB-INF/classes/i18n 中,那么它就可以工作,但我想将它们放在不同的文件夹中,最好放在 /WEB 中-INF/模板/i18n.我该怎么做?
How can I add an entire folder to Velocity and use the files inside as resource bundles?
Currently in my velocity.xml I have this code:
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="parentMessageSource">
<ref bean="globMessageSource"/>
</property>
<property name="basenames">
<list>
<value>classpath:/WEB-INF/i18n</value>
<value>/WEB-INF/templates/velocity/my_vm_template</value>
</list>
</bean>
I need to add i18n folder to the classpath so that its containing files can be seen by the VelocityTools version 1.4 in the toolbox.xml:
<tool>
<key>test</key>
<scope>request</scope>
<class>org.apache.velocity.tools.generic.ResourceTool</class>
<parameter name="bundles" value="i18n.ss_messages"/>
<parameter name="locale" value="en_US"/>
</tool>
The code is giving me an error message: "java.util.MissingResourceException: Can't find bundle for base name i18n.ss_messages, locale en_US"
This question relates to VelocityTools error - "java.util.MissingResourceException: Can't find bundle for base name WEB-INF.conf.resources.ss_messages, locale en_US"
Sorry if it's a silly question, but I can't find anywhere describing how to add an entire folder to the classpath and be available as a bundle so it can support Velocity template localization.
IMPORTANT NOTE!! If I place my ss_messages_bg_BG.properties and ss_messages_en_US.properties files in /WEB-INF/classes/i18n then it works, but I want to place them in a different folder ideally in /WEB-INF/templates/i18n. How do I do that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你用maven吗?您可以告诉 Maven 使用该目录作为资源:
Do you use maven? You could tell maven to use that directory as a resource: