`

Spring MVC3.0国际化

 
阅读更多

Spring MVC3.0国际化

< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" /> 

说明:在这里简单实现Spring MVC国际化。{这里用到注解,请参考Spring MVC注解Demo}

步骤:

     创建一个demoweb工程,加入相应的jar包,配置web.xml文件,同样可以参照Spring MVC注解Demoweb.xml文件的代码如下:

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.4"

    xmlns="http://java.sun.com/xml/ns/j2ee"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee

    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    <servlet>

        <servlet-name>demo</servlet-name>

    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

        <init-param>

            <param-name>contextConfigLocation</param-name>

            <param-val>/WEB-INF/config/spring/*.xml</param-val>

        </init-param>

        <load-on-startup>1</load-on-startup>

    </servlet>

    <servlet-mapping>

        <servlet-name>demo</servlet-name>

        <url-pattern>*.html</url-pattern>

    </servlet-mapping>

  <welcome-file-list>

    <welcome-file>index.jsp</welcome-file>

  </welcome-file-list>

</web-app>

说明:/WEB-INF/config/spring/*.xml表示在此路径下的所有已.xmlSpring配置文件都会在初始化时加载。

     /WEB-INF/config/spring路径下创建一个Spring-common.xml文件,配置Spring相关信息,代码如下:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

    xmlns:context="http://www.springframework.org/schema/context" 

    xsi:schemaLocation="  

    http://www.springframework.org/schema/beans   

    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

    http://www.springframework.org/schema/mvc   

    http://www.springframework.org/schema/beans/spring-mvc-3.0.xsd    

    http://www.springframework.org/schema/context  

    http://www.springframework.org/schema/context/spring-context-3.0.xsd">

    <!-- 控制器所在的包{添加注解的Controller} -->

    <context:component-scan base-package="com.teana.controller" />

    <!-- 国际化支持 -->

    <bean id="messageSource"class="org.springframework.context.support.ResourceBundleMessageSource">

        <property name="basename">

            <val>messages</val>

        </property>

    </bean>

    <!-- jsp文件的前缀和后缀 -->

    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

        <property name="prefix" val="/WEB-INF/jsp/" />

        <property name="s?ix" val=".jsp" />

    </bean>

</beans>

     src目录下创建Controller,名称为TestController.java,包结构为com.teana.controller,其代码如下:

package com.teana.controller;

 

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.PathVariable;

import org.springframework.web.bind.annotation.ReqstMapping;

import org.springframework.web.bind.annotation.ReqstMethod;

 

@Controller

@ReqstMapping("/teana")

p lic class TestController

{

       @ReqstMapping("/start/{name}/{age}")

       p lic String start(@PathVariable("name") String name,

                     @PathVariable("age") int age)

       {

              System.out.println("姓名:" + name + ", 年龄:" + age);

              return "start";

       }

}

     在工程的src目录下创建国际化资源文件分别为messages.propertiesmessages_en_US.propertiesmessages_cn_ZH.properties文件,代码如下:

messages.properties的代码:

title=Spring MVC Demo{i18n}

welcome=Welcome to prod? professional DEMO S?SS are annotated MVC\!

messages_en_US.properties的代码:

title=(US)Spring MVC Demo{i18n}

welcome=(US)Welcome to prod? professional DEMO S?SS are annotated MVC\!

messages_cn_ZH.properties的代码:

title=Spring MVC Demo{\国\际\化}

welcome=\欢\迎\来\到SPRING MVC \注\MO S?SS\?01

     根据Spring-common.xml配置文件和TestController.java文件配置在WEB-INF/jsp/路径下配置start.jsp文件代码如下:

<%@ page lang ge="java" import="java.util.*" pageEncoding="UTF-8"%>

<!-- 使用Spring标签 -->

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

<!DOCTYPE HTML P LIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <title><spring:message code="title" /></title>

  </head>

  <body>

  <center>

    <br/><br/>

    <h2 style="color:red;"><spring:message code="welcome" /></h2>

  </center>

  </body>

</html>

最后我们在浏览器输入:http://localhost:8080/demo/teana/start/linda/22.html 在不同的local环境下即可看到效果。

总结:

Spring做国际化时经常会报:

org.springframework.context.NoS hMessageException: No message found under code 'title' for locale 'zh_CN'.
这样的错误。请注意以下几点:
 新建资源文件时,尽量右击项目新建文件,来增加.
② 属性文件名的写法:

           messages_zh_CN.properties  (中文)

           messages_en_US.properties  (英文)
③ 配置messageSource这个bean(注意:一定是messageSource不是messageResource ,这是Spring规定的)例如:
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">

        <property name="basename">

            <val>messages</val>

        </property>

</bean>

分享到:
评论

相关推荐

    spring3.0+spring mvc3.0+mybaits3.0

    《Spring 3.0、Spring MVC 3.0与MyBatis 3.0整合详解》 在现代Java企业级应用开发中,Spring框架因其强大的功能和灵活性而被广泛使用。Spring 3.0作为其重要的一个版本,引入了诸多改进和新特性,提升了开发效率和...

    Spring MVC 3.0教程

    ( Spring MVC 3.0详细介绍.pdf )

    Spring MVC 3.0实战指南.ppt

    《Spring MVC 3.0实战指南》,参考《Spring 3.x企业应用开发实战》。 内容简介: 1、Spring MVC框架简介 2、HTTP请求地址映射 3、HTTP请求数据的绑定 4、数据转换、格式化、校验 5、数据模型控制 6、视图及解析器 7...

    Spring MVC 3.0实战指南

    Spring MVC 3.0实战指南

    基于Eclipse开发集成Spring mvc 3.0+ Ibtais 注解

    本来刚开始学Spring mvc 3.0+ Ibtais 基于Eclipse开发集成Spring mvc 3.0+ Ibtais 注解 求高手指导QQ286596209

    spring mvc 3.0-mybatis-freemarker整合

    通过以上步骤,我们便成功地整合了Spring MVC 3.0、MyBatis 3 和 Freemarker 2.3,实现了MVC架构中的各层分离,使得开发更加模块化,便于维护和扩展。在这个过程中,Spring的依赖注入和AOP特性、MyBatis的简单易用和...

    spring3.0 mvc中文实例教程

    5. **国际化与本地化**:教授如何在Spring MVC中实现应用的多语言支持。 6. **Spring主题**:探讨Spring MVC中如何定制和管理视图主题。 7. **Spring3 MVC与Hibernate 3整合**:讲解如何结合Spring MVC和Hibernate...

    springmvc3.0

    8. **消息源**:Spring MVC提供MessageSource接口,用于处理国际化消息,支持多种格式的消息资源文件。 9. **AOP注解**:@Aspect、@Before、@After等注解简化了AOP的使用,无需编写XML配置即可实现切面。 10. **...

    Spring3.0 MVC.pdf

    Spring3.0 MVC.pdf java spring framework 3.0 mvc

    Spring MVC 3.0实战指南--陈雄华

    Spring MVC 3.0新特性: 1.支持REST风格的URL 2.添加更多注解,可完全注解驱动 3.引入HTTP输入输出转换器(HttpMessageConverter)和数据转换、格式化、验证框架无缝集成 4.对静态资源处理提供特殊支持 5.更加...

Global site tag (gtag.js) - Google Analytics