2011-11-22 106 views
0

如何将整个文件夹添加到Velocity并将其作为资源包使用?使用Spring框架将文件夹添加到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”

这个问题涉及到VelocityTools error - "java.util.MissingResourceException: Can't find bundle for base name WEB-INF.conf.resources.ss_messages, locale en_US"

对不起,如果这是一个愚蠢的问题,但我找不到任何地方描述如何将整个文件夹添加到类路径并作为一个捆绑包提供,因此它可以支持Velocity模板本地化。

重要提示!如果将我的ss_messages_bg_BG.properties和ss_messages_en_US.properties文件放在/ WEB-INF/classes/i18n中,那么它可以工作,但我想将它们放在/ WEB-INF/templates/i18n中的理想文件夹中。我怎么做?

回答

0

你使用maven吗?你可以告诉maven使用该目录作为资源:

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