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