ITEEDU

<spring:message>  标签

可以使用<spring:message>标签结合 ResourceBundleMessageSource 的功能,在网页上显示 messages.properties 中的文字讯息,例如在 messages.properties 中定义如下:

•      messages.properties
 welcome=Hello, {0}  {1}. Welcome to Spring.

记得 messages.properties 档案必须在 Classpath 可以存取到的路径下,例如放在
/WEB-INF/classes/下,您的 Bean 定义档中要加入 ResourceBundleMessageSource 的定义,例如:

•      mvc-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
	<bean id="urlMapping" class="org.springframework.web.servlet.
		→ handler.SimpleUrlHandlerMapping">
		<property name="mappings">
			<props>
				<prop key="/index.do">indexController</prop>
			</props>
		</property>
	</bean>
	<bean id="viewResolver" class="org.springframework.web.servlet.
		→ view.InternalResourceViewResolver">
		<property name="prefix">
			<value>/WEB-INF/jsp/</value>
		</property>
		<property name="suffix">
			<value>.jsp</value>
		</property>
	</bean>
	<bean id="messageSource" class="org.springframework.context.
		→ support.ResourceBundleMessageSource">
		<property name="basename">
			<value>messages</value>
		</property>
	</bean>
	<bean id="indexController" class="org.springframework.web.servlet.
		→ mvc.ParameterizableViewController">
		<property name="viewName">
			<value>index</value>
		</property>
	</bean>
</beans>

在这边直接使用了 ParameterizableViewController 来转发使用者的请求至 index.jsp 网页,网 页的内容如下所示:

•      index.jsp
<%@page contentType="text/html"%>
<%@page?pageEncoding="UTF-8"%>
<%@taglib prefix="spring"uri="http://www.springframework.org/tags"%>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>Message Tag Demo</title>
	</head>
	<body>
		<h1>?<spring:message code="welcome"?arguments="Justin,Lin"/></h1>
		</body>
	</html>

"arguments"中指定的引数,以逗号分隔,会分别取代 messages.properties 中对应的{0}、{1} 等占位字元。