代码:

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>测试基于浏览器请求的国际化</title>
</head>
<body>
<!-- 使用message标签来输出国际化信息 -->
<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>测试基于浏览器请求的国际化</title>
</head>
<body>
<spring:message code="welcome" 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 javax.servlet.http.HttpServletRequest;import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
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.support.RequestContext;import com.bean.User;@Controller
public class UserController {private static final Log logger = LogFactory.getLog(UserController.class);@RequestMapping(value="/{formName}")public String loginForm(@PathVariable String formName,Model model){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")){//从后台代码获取国际化信息usernameRequestContext requestContext=new RequestContext(request);String username=requestContext.getMessage("username");// 将获取的username信息设置到User对象并设置到Model当中user.setUsername(username);model.addAttribute("user", user);return "success";}return "error";}
}

截图:

源码:网盘极速下载

基于浏览器请求的国际化实现相关推荐

  1. springmvc国际化 基于浏览器语言的国际化配置

    项目结构图如下: 说明:lib下存放的是Spring相关包,项目应用包为Spring3.2,message_*.properties中存放的是国际化的资源文件 资源文件 英语的资源文件message_ ...

  2. springmvc国际化 基于请求的国际化配置

    基于请求的国际化配置是指,在当前请求内,国际化配置生效,否则自动以浏览器为主. 项目结构图: 说明:properties文件中为国际化资源文件.格式相关见文章: http://www.cnblogs. ...

  3. 基于浏览器的http普通请求与ajax请求

    发起一个http请求,可以通过浏览器,也可以通过程序去发起.通过程序去发起http请求(比如java中HttpURLConnection),只要是http层的东西都是能够伪造的,当然大部分还是伪造he ...

  4. 前端基于浏览器存储的AJAX性能优化

    受后端开发redis启发,基于浏览器sessionStorage存储的ajax性能优化. 一.需求 随着单页面和前后端分离的兴起,ajax已经成为大部分前后端数据交互的途径.虽然ajax是异步的,但是 ...

  5. 发起ajax请求很慢,为什么我的Ajax请求比一般的浏览器请求慢得多?

    我为一位朋友创建了一个网站.因为他希望音乐播放器能够通过页面加载继续播放音乐,所以我决定通过ajax(由jQuery提供便利)将内容加载到页面中.它工作的很好,当没有javascript时它会很好地回 ...

  6. 基于HTTP请求头字段 User-Agent用户环境 开发多端应用

    User-Agent是HTTP请求头的一个字段,主要用于向服务器提供客户端的浏览器类型及版本.操作系统及版本.浏览器内核等信息.开发者可以根据系统环境开发不同排版的网站,给予用户更好的体验. 基于HT ...

  7. html定位的实例,H5案例分享:基于浏览器的HTML5地理定位

    基于浏览器的HTML5地理定位 地理位置(Geolocation)是 HTML5 的重要特性之一,提供了确定用户位置的功能,借助这个特性能够开发基于位置信息的应用.今天这篇文章向大家介绍一下 HTML ...

  8. 你该知道的浏览器请求与Header

    从url到页面展示过程中发生了什么 让我们从一道"经典前端面试题" -- 从url到页面展示过程中发生了什么说起: url解析,根据dns系统进行ip查找: ① 网络标准规定了 u ...

  9. mitmproxy 抓包神器-1.环境准备与抓取浏览器请求

    前言 常见的抓包工具有fiddler 和 charles, 这些工具都是需要安装本地客户端,python 版的抓包工具可以用 mitmproxy. mitmproxy 相比Charles.fiddle ...

最新文章

  1. 深度报告解密华为汽车业务!布局三大领域,对标世界级Tier1
  2. ACE入门---很好的文章
  3. 职场社交:做职场版微信不如做职场版微博
  4. 【渝粤教育】国家开放大学2019年春季 2507学前儿童艺术教育(音乐) 参考试题
  5. 信息学奥赛一本通 1312:【例3.4】昆虫繁殖
  6. 华为服务器改硬盘启动不了怎么办,华为服务器装系统加载os怎么回事
  7. Pyqt5转化.ui文件到.py文件
  8. 音效SystemSoundID
  9. VMware网络连接方式(Host-only、NAT、Bridged)介绍及NAT环境下静态IP配置
  10. android 微信布局 字体,【Android】底部Tab+ViewPager(仿微信界面)
  11. java Servlet文件拷贝的模板代码
  12. 2007.05.07 不再如此堕落
  13. 在Java中基于mysql驱动包连接MySQL数据库
  14. 【H3C模拟器】配置交换机的链路聚合
  15. [IOI2018]-day1 简要题解
  16. 励志语录关于奋斗青春
  17. 基于C++的Qt(三)Qt类库概述
  18. android怎么开机画面,安卓手机开机画面怎么修改?
  19. PHP和Socket简介
  20. 为深度学习选择最好的GPU

热门文章

  1. 计算机lg符号,网上总出现LG的符号,是什么意思
  2. 【ZHYP005】子涵优品开发日志
  3. python简单爬取斗图图片(自学第十天)
  4. Oracle database oracle12c 完全卸载 一键卸载
  5. 我的世界服务器上次死亡位置,我的世界怎么传送到上次死的地方
  6. erdas裁剪影像_erdas切割图像步骤
  7. python中init外面的属性_Python mock属性在\uyu init中定义和设置__
  8. 第2次实验——算法基本功 与 综合思考
  9. Win10 Build 14942 Edge浏览器闪退怎么解决?
  10. python django廖雪峰_如何用Django从零开始搭建一个网站(0)