可以使用<spring:message>標籤結合ResourceBundleMessageSource的功能,在網頁上顯示messages.properties中的文字訊息,例如在messages.properties中定義如下:
welcome=Hello, {0} {1}. Welcome to Spring.
記得messages.properties檔案必須在Classpath可以存取到的路徑下,例如放在/WEB-INF/classes/下,您的Bean定義檔中要加入ResourceBundleMessageSource的定義,例如:
<?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網頁,網頁的內容如下所示:
<%@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}等佔位字元。
|