为什么我不能使用标签

时间:2011-02-17 03:18:01

标签: spring spring-mvc

在我的jsp中使用如下:
 <spring:message code="key1"/>, 我收到了错误:   ** Root cause is: No message found under code 'key1' for locale 'zh_CN'. javax.servlet.jsp.JspTagException: No message found under code 'key1' for locale 'zh_CN'. at org.springframework.web.servlet.tags.MessageTag.doStartTagInternal(MessageTag.java:184) at org.springframework.web.servlet.tags.RequestContextAwareTag.doStartTag(RequestContextAwareTag.java:79) at

以下是我的代码:

<bean id="messageSource"        class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
        <property name="basename" value="com.bk.message.Message" />
        <property name="defaultEncoding" value="UTF-8" />
        <property name="useCodeAsDefaultMessage" value="false" />
    </bean>

这是我的财产:

Message_zh_CN.properties under folder src/com/bk/message  
key1=This

2 个答案:

答案 0 :(得分:2)

嘿,basename应该是路径,而不是包名。请参阅文档here和一些讨论here

如果你想调试,顺便说一下,只需在代码中的某处注入bean。

答案 1 :(得分:1)

嘿,将配置放在applicationContext.xml中更有用。然后,您可以从类路径加载属性,例如

 <bean id="messageSource"
   class="org.springframework.context.support.ResourceBundleMessageSource">
        <property name="basenames">
            <list>
            <value>i18n/views</value>
                   </list>      
            </property>     
    </bean>

现在,您可以加载许多由您自己定义的属性。