2

春の国際化(i18n)を実装しています。Eclipseのローカル環境で正常に動作しています。しかし、開発サーバーにデプロイすると、このエラーが発生します。

javax.servlet.ServletException: javax.servlet.jsp.JspTagException: No message found under code 'property.name' for locale 'en'.
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:916)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:845)
org.apache.jsp.WEB_002dINF.pages.PayLinkForm_002dMercadoPago_jsp._jspService(PayLinkForm_002dMercadoPago_jsp.java:618)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

私の spring-mvc-config.xml には次の設定があります。

<!-- For setting internationalization -->
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
    <property name="defaultLocale" value="en"/>
</bean>

<!-- call this interceptor before any controller call and change the default language, if language parameter is there in the URL -->
<mvc:interceptors> 
    <bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"> 
        <property name="paramName" value="language" /> 
    </bean> 
</mvc:interceptors>

<!-- Register the language.properties -->
<bean id="messageSource"
    class="org.springframework.context.support.ResourceBundleMessageSource">
    <property name="basename">
        <value>config/language</value> 
    </property>
</bean>

なんらかのパスの問題により、開発サーバー上のプロパティ ファイルを検出できないと思います。ここで定義されたパス「config/language」は私のローカルでは正常に機能しますが。

4

1 に答える 1