可以使用<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}等佔位字元。