基于HttpSession的国际化实现
来源:互联网 发布:华风爱科天气数据不对 编辑:程序博客网 时间:2024/05/22 06:57
代码:
loginForm.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@taglib prefix= "form" uri= "http://www.springframework.org/tags/form" %><%@taglib prefix= "spring" uri= "http://www.springframework.org/tags" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>测试基于SessionLocaleResolver的国际化</title></head><body><!-- 用户可以选择切换语言环境 --><a href="loginForm?request_locale=zh_CN">中文</a> | <a href="loginForm?request_locale=en_US">英文</a><br/><h3><spring:message code="title"/></h3><form:form modelAttribute="user" method="post" action="login" ><table><tr><td><spring:message code="loginname"/></td><td><form:input path="loginname"/></td></tr><tr><td><spring:message code="password"/></td><td><form:input path="password"/></td></tr><tr><td><input type="submit" value="<spring:message code="submit"/>"/></td></tr></table></form:form></body></html>
success.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@taglib prefix= "spring" uri= "http://www.springframework.org/tags" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>测试ConversionService</title></head><body><spring:message code="welcom" arguments="${requestScope.user.username}"/></body></html>
User.java
package com.bean;import java.io.Serializable;public class User implements Serializable {private String loginname;private String password;private String username;public User() {super();// TODO Auto-generated constructor stub}public String getLoginname() {return loginname;}public void setLoginname(String loginname) {this.loginname = loginname;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}@Overridepublic String toString() {// TODO Auto-generated method stubreturn "User [loginname=" + loginname + ", password=" + password + ", username=" + username + "]";}}
UserController.java
package com.control;import java.util.Locale;import javax.servlet.http.HttpServletRequest;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import com.bean.*;import org.springframework.context.i18n.LocaleContextHolder;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.validation.annotation.Validated;import org.springframework.web.bind.annotation.ModelAttribute;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.servlet.i18n.SessionLocaleResolver;import org.springframework.web.servlet.support.RequestContext;@Controllerpublic class UserController{private static final Log logger = LogFactory.getLog(UserController.class);@RequestMapping(value="/{formName}") public String loginForm( @PathVariable String formName, String request_locale, Model model, HttpServletRequest request){System.out.println("request_locale = " + request_locale);if(request_locale != null){// 设置中文环境if(request_locale.equals("zh_CN")){Locale locale = new Locale("zh", "CN"); request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME,locale); }// 设置英文环境else if(request_locale.equals("en_US")){Locale locale = new Locale("en", "US"); request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME,locale); }// 使用之前的语言环境else {request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME,LocaleContextHolder.getLocale());} }User user = new User();model.addAttribute("user",user);// 动态跳转页面return formName;} @RequestMapping(value="/login",method=RequestMethod.POST) public String login( @ModelAttribute @Validated User user, Model model, HttpServletRequest request) { logger.info(user); if(user.getLoginname()!=null && user.getLoginname().equals("haige") && user.getPassword()!=null && user.getPassword().equals("123456")){ //从后台代码获取国际化信息 RequestContext requestContext = new RequestContext(request); String username = requestContext.getMessage("username"); user.setUsername(username); model.addAttribute("user", user); return "success"; } return "error"; }}
截图:
0 0
- 基于HttpSession的国际化实现
- 基于HttpSession的国际化实现
- HttpSession国际化
- 基于Session的国际化实现
- 基于Session的国际化实现
- 基于浏览器请求的国际化实现
- 基于浏览器请求的国际化实现
- SpringMVC基于浏览器国际化实现
- 基于浏览器和手动选择语言的国际化实现
- 基于jQuery.i18n.properties 实现前端页面的资源国际化
- springmvc国际化 基于请求的国际化配置
- 基于session的springmvc国际化
- JavaWeb 基于springmvc的国际化
- struts国际化的实现
- struts 的国际化实现
- Yii 国际化的实现
- Struts2 的国际化实现
- Struts2 的国际化实现
- 关于Java面向对象基本特征的一些理解
- Linux下Tomcat的安装配置
- JavaWeb跨域访问问题
- Python 编码规范
- 【大惊喜】网易云短信服务全面降价啦!
- 基于HttpSession的国际化实现
- NLP︱LDA主题模型的应用难题
- 数据库优化
- Linux系统(Ubuntu)中使用国内的源地址
- CCF第一题--最大波动
- windows server2008 FTP服务器搭建
- NoSQL数据库redis和mongo使用
- HTML中Doctype的作用以及浏览器的严格模式和混杂模式的区别
- 设置session的生命周期(php)