Spring3.X @MVC - (五)用外部化文件来显示区域的信息

前言:

一、总共有10节,也就是10篇博客来讲述Spring的MVC,几乎涵盖了所有Spring MVC中的内容。

二、我创建的例子是一个球场预订系统,例子我已经测试调试通过,是一个Maven的project,包含一个Parent project:wsheng-spring-base和一个子Module:wsheng-spring-mvc.

三、在Eclipse中直接import maven的project即可,会同时引入上诉两个project的。

四、如果你没有耐心,可以不必往下学习,因为网上有很多例子,但是都是讲的Spring MVC很少的面,而且你可以快速的上手,但如果你想真正了解Spring MVC中的很多细节,就可以慢慢的去看博客(从第一节到第十节),如果有什么问题,欢迎信息告诉我。

五、学习的方法是你可以先将源码导入到eclipse中,然后根据博客上的内容,对照源码,慢慢消化,这是个漫长的过程,但是会帮助你了解很多Spring MVC的细节。

===================================================================================

在Spring3.X @MVC - (四)解析用户区域实现国际化的基础上http://josh-persistence.iteye.com/admin/blogs/1881816

接着讨论怎样使用外部文件(properties)文件来显示web页面的信息。

一、问题

当开发国际化的Web应用时,我们必须要根据用户的首选区域来显示网页。但是如果不想为不同的用户区域(如果美国,中国,德国)创建相同页面的不同版本。

二、解决方案

使用外部化的文本信息,使网页独立于用户具体的区域。Spring中可以定义某个类实现MessageResource接口,然后可以使用该信息源解析文本信息。最后,JSP文件中就可以使用Spring的标记库里面定义的<spring:message>标记,来解析特定的代码的信息。

三、工作原理

在Web上下文中注册一个MessageSource类型的Bean,以定义一个信息源。

  <!-- Message .properties sources --> 

    <bean id="messageSource"

        class="org.springframework.context.support.ResourceBundleMessageSource"> 

        <property name="basename" value="messages.properties" />

<property name="basename" value="messages.properties" />

    </bean>

接着可以创建两个资源集:messages.properties和message_de.properties,存储默认地区和德国所用的信息。这些资源集应该放在classpath的根目录中。

welcome.title=Welcome

welcome.message=Welcome to Court Reservation System

welcome.title=Willkommen

welcome.message=Willkommen zum Spielplatz-Reservierungssystem

      现在,在一个Jsp文件中(如welcome.jsp)中,你可以使用<spring:message>标记解析给定代码的信息。这个标记自动根据用户当前区域解析用户信息。注意,这个标记在Spring的标记库中定义,所以你必须在JSP文件的开始声明它。

<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>

<html>

<head>

<title><spring:message code="welcome.title" text="Backup - Welcome" /></title>

</head>

<body>

<h2><spring:message code="welcome.message" text="Backup - Welcome to Court Reservation System" /></h2>

</body>

</html>

在<spring:message>中,你可以指定代特定的信息代码<spring:message code="welcome.message" text="Backup - Welcome to Court Reservation System" /> 无法解析时输出的默认文本。

猜你喜欢

转载自josh-persistence.iteye.com/blog/1881831