Adding folder to classpath in Velocity using Spring framework

丶灬走出姿态 提交于 2020-01-06 14:18:30

问题


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?


回答1:


Do you use maven? You could tell maven to use that directory as a resource:

        <resource>
            <!-- Velocity requires to be in classpath -->
            <directory>src/main/webapp/WEB-INF/i8n</directory>
            <filtering>true</filtering>
        </resource>


来源:https://stackoverflow.com/questions/8233781/adding-folder-to-classpath-in-velocity-using-spring-framework

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!