Java Spring MVC将.tag属性获取为.jsp

时间:2016-02-19 15:51:51

标签: java spring jsp spring-mvc

我有一个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

中,它就有效

2 个答案:

答案 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个文件中定义的变量