springmvc二十四:自定义国际化信息

 springmvc中区域信息是由区域信息解析器得到的。

private LocaleResolver localeResolver 默认会用一个AcceptHeaderLocaleResolver

 

自定义区域信息解析器

import java.util.Locale;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.LocaleResolver;

// 自定义区域信息解析器
public class MyLocaleResolver implements LocaleResolver{

	public Locale resolveLocale(HttpServletRequest request) {
		String localeStr = request.getParameter("locale");
		Locale l = null;
        // 通过这个就可以实现中英文切换
		if(null != localeStr && !"".equals(localeStr)){
			l = new Locale(localeStr.split("-")[0], localeStr.split("-")[1]);
		}else{
			l = request.getLocale();
		}
		return l;
	}

	public void setLocale(HttpServletRequest request,
			HttpServletResponse response, Locale locale) {
	
	}
}

自定义区域信息解析器配置

<!-- 自定义区域信息解析器 -->
<bean id="localeResolver" class="com.atchina.MyLocaleResolver"></bean>

通过这个就可以实现中英文切换

<a href="tologinpage?locale=zh-CN">中文</a>|
 <a href="tologinpage?locale=en-US">英文</a>

 

国际化配置信息

 

配置springmvc文件,配置解析国际化配置信息的类

<!-- 管理国际化资源文件 -->
<bean id="messageSource" 
      class="org.springframework.context.support.ResourceBundleMessageSource">
	      <property name="basename" value="loginpage/login"></property>
</bean>

 

通过 fmt 标签库获取国际化信息

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
  </head>
  
  <body>
    <h1> <fmt:message key="welcomeinfo"/> </h1>
    <form action="">
    	<fmt:message key="username"/>:<input/> <br/>
    	<fmt:message key="password"/>:<input/>   <br/>
    	<input type="submit" value="<fmt:message key="loginBtn"/>"/>
    </form>
  </body>
</html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值