Spring MVC3.0国际化
< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" />
说明:在这里简单实现Spring MVC国际化。{这里用到注解,请参考Spring MVC注解Demo}
步骤:
① 创建一个demo的web工程,加入相应的jar包,配置web.xml文件,同样可以参照Spring MVC注解Demo;web.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表示在此路径下的所有已.xml的Spring配置文件都会在初始化时加载。
② 在/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.properties、messages_en_US.properties、messages_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>
相关推荐
《Spring 3.0、Spring MVC 3.0与MyBatis 3.0整合详解》 在现代Java企业级应用开发中,Spring框架因其强大的功能和灵活性而被广泛使用。Spring 3.0作为其重要的一个版本,引入了诸多改进和新特性,提升了开发效率和...
( Spring MVC 3.0详细介绍.pdf )
《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+ Ibtais 基于Eclipse开发集成Spring mvc 3.0+ Ibtais 注解 求高手指导QQ286596209
通过以上步骤,我们便成功地整合了Spring MVC 3.0、MyBatis 3 和 Freemarker 2.3,实现了MVC架构中的各层分离,使得开发更加模块化,便于维护和扩展。在这个过程中,Spring的依赖注入和AOP特性、MyBatis的简单易用和...
5. **国际化与本地化**:教授如何在Spring MVC中实现应用的多语言支持。 6. **Spring主题**:探讨Spring MVC中如何定制和管理视图主题。 7. **Spring3 MVC与Hibernate 3整合**:讲解如何结合Spring MVC和Hibernate...
8. **消息源**:Spring MVC提供MessageSource接口,用于处理国际化消息,支持多种格式的消息资源文件。 9. **AOP注解**:@Aspect、@Before、@After等注解简化了AOP的使用,无需编写XML配置即可实现切面。 10. **...
Spring3.0 MVC.pdf java spring framework 3.0 mvc
Spring MVC 3.0新特性: 1.支持REST风格的URL 2.添加更多注解,可完全注解驱动 3.引入HTTP输入输出转换器(HttpMessageConverter)和数据转换、格式化、验证框架无缝集成 4.对静态资源处理提供特殊支持 5.更加...