Java Spring可重载ResourceBundleMessageSource VS ResourceBundleMessageSource
您好,我正在尝试在我的Spring MVC web应用程序中配置消息源 我目前已使用ReloadableResourceBundleMessageSource运行它,但无法使用ResourceBundleMessageSource运行它。我更愿意使用ResourceBundleMessageSource,因为我不需要重新加载功能,ResourceBundleMessageSource的效率稍微高一点 在我的rootApplicationContext中,我定义了如下beanJava Spring可重载ResourceBundleMessageSource VS ResourceBundleMessageSource,java,spring-mvc,Java,Spring Mvc,您好,我正在尝试在我的Spring MVC web应用程序中配置消息源 我目前已使用ReloadableResourceBundleMessageSource运行它,但无法使用ResourceBundleMessageSource运行它。我更愿意使用ResourceBundleMessageSource,因为我不需要重新加载功能,ResourceBundleMessageSource的效率稍微高一点 在我的rootApplicationContext中,我定义了如下bean &l
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="/resources/locale/messages" />
<property name="defaultEncoding" value="UTF-8"/>
</bean>
<bean id="localeChangeInterceptor"
class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="lang" />
</bean>
<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.SessionLocaleResolver" />
<bean id="handlerMapping"
class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="interceptors">
<ref bean="localeChangeInterceptor" />
</property>
</bean>
这很好用。
但只要我换成
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="/resources/locale/messages" />
<property name="defaultEncoding" value="UTF-8"/>
</bean>
应用程序中断,但出现以下异常:
12:35:57433错误
[org.apache.catalina.core.ContainerBase.[jboss.web].[default host].[SpringJAXWS].[jsp]]
(http-localhost-127.0.0.1-8080-1)Servlet jsp的Servlet.service()
引发异常:org.apache.tiles.util.TilesIOException:jspeException
包括路径“/jsp/views/layout/top.jsp”。在
org.apache.tiles.servlet.context.ServletUtil.wrapServletException(ServletUtil.java:241)
[tiles-servlet-2.2.2.jar:2.2.2]
org.apache.tiles.jsp.context.JspTilesRequestContext.include(JspTilesRequestContext.java:105)
[tiles-jsp-2.2.2.jar:2.2.2]
救命啊
整个项目代码可在GITHUB上获得
下面是所有感兴趣的人的整个堆栈跟踪。
ResourceBundleMessageSource使用不同的格式传递basename值
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="resources.locale.messages" />
<property name="defaultEncoding" value="UTF-8"/>
您是否检查了磁贴配置?它可能与TileViewResolverPlease相关,请发布完整的堆栈跟踪,而不是代码段。