我有一个Java配置的Spring MVC应用程序。我想知道,如何访问WEB-INF\tags
中定义的属性。
AppConfig.java:
@Bean
public MessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("/i18/usermsg");
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
@Bean
public LocaleResolver localeResolver() {
CookieLocaleResolver resolver = new CookieLocaleResolver();
resolver.setDefaultLocale(new Locale("en_US"));
resolver.setCookieName("myLocaleCookie");
resolver.setCookieMaxAge(4800);
return resolver;
}
usermsg_en.properties:
user.test=This is a test
WEB-INF \ tags \ test.tag:
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@attribute name="front" required="false" description="some description" %>
<head>
<spring:message code="user.test" var="user_test" text="default text"/>
</head>
在.jsp文件中,这不起作用:
<t:head front="true"/>
<body>
${user_test}
</body>
但是如果我将<spring:message code="user.test" var="user_test" text="default text"/>
直接包含在.jsp
答案 0 :(得分:0)
<spring:message>
应该适用于tag
以及jsp
个文件。
我认为问题是你没有在你的tag
文件中包含spring taglib。所以添加:
<%@taglib prefix="spring" uri="http://www.springframework.org/tags" %>
答案 1 :(得分:0)
我弄清楚了:
这[{1}}
应该
<spring:message code="user.test" var="user_test" text="default text"/>
然后,您可以使用<spring:message code="user.test" var="user_test" text="default text" scope="request"/>
.tag
个文件中定义的变量