0

私たちの宣言:

<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
     <property name="basenames">
            <list>
                    <value>WEB-INF/classes/caasMessages</value>
            </list>
     </property>
     <property name="useCodeAsDefaultMessage" value="true" />
     <property name="defaultEncoding" value="UTF-8"/>
</bean>

classpath:caasMessages を試しましたが、caasMessages だけを試しました。実際のファイルは WEB-INF/classes にあり、caasMessages.properties、caasMessages_es.properties などが含まれます。

エラー:

javax.servlet.jsp.JspTagException: No message found under code 'screen.confirmLoginStats.title' for locale 'en_US'.
at org.springframework.web.servlet.tags.MessageTag.doStartTagInternal(MessageTag.java:184)
at org.springframework.web.servlet.tags.RequestContextAwareTag.doStartTag(RequestContextAwareTag.java:79)
at org.apache.jsp.WEB_002dINF.view.jsp.ssn.casLoginView_jsp._jspx_meth_spring_005fmessage_005f0(casLoginView_jsp.java:403)
at org.apache.jsp.WEB_002dINF.view.jsp.ssn.casLoginView_jsp._jspService(casLoginView_jsp.java:105)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

等々。

私たちは、メッセージが caasMessages.properties にあることを本当に、本当に、本当に確信しています。そして、タイトルで述べたように、これは Tomcat が JDK6 で実行されている場合は正常に動作しますが、示されているように JDK7 では失敗します。

4

1 に答える 1

0

どうでも。Java 6 と Java 7 の比較はおせっかいでした。「隠し」コンテキスト ファイルが、2 番目の messageSource を正しく定義していませんでした。理由は不明ですが、Java 6 では正しい Bean が優先され、Java 7 では正しくない Bean が優先されました。

于 2013-05-08T21:45:44.983 に答える