2013-05-08 23 views
0

我們的宣言:春ReloadableResourceBundleMessageSource處理Java 6,但沒有對Java 7的

<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> 

我們試圖類路徑: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下失敗,如圖所示。

回答

0

沒關係。 Java 6與Java 7是一個紅鯡魚。 「隱藏的」上下文文件錯誤地定義了第二個messageSource。由於未知的原因,正確的bean在Java 6中是首選,在Java 7中是錯誤的。

相關問題