春天无声失败:消息

时间:2014-08-18 11:31:54

标签: java spring jsp spring-mvc internationalization

我正在使用Spring Message Source来实现我的webapp的国际化。

问题是,只要没有定义消息,就会抛出 JspException ,当添加许多文本时,它在开发阶段真的很痛苦。

我想要的是记录错误(为了知道缺少哪些文本)并在生成的HTML中打印密钥或占位符。

这是可配置的吗?

-

编辑:有文字属性,但需要将其添加到每个消息代码中,并且它不会记录任何内容

2 个答案:

答案 0 :(得分:0)

您可以在标记中使用text属性。

<spring:message code="welcome.springmvc" text="default text" />

答案 1 :(得分:0)

找到它: 必须将 useCodeAsDefaultMessage 设置为 true
它不会记录错误,但至少不会因致命错误而烦恼

例如在XML config中:

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
    <property name="basenames">
        <list>
            <value>/WEB-INF/i18n/main</value>
            <value>/WEB-INF/i18n/dashboard</value>
        </list>
    </property>
    <property name="useCodeAsDefaultMessage" value="true"/>
    <property name="defaultEncoding" value="UTF-8"/>
</bean>

protip:在开发中你还可以使用 ReloadableResourceBundleMessageSource cacheSeconds = 0 来重新加载每页刷新的翻译