springmvc 获取request response session的工具方法和国际化处理

RequestContextHolder中的宝藏工具方法

RequestAttributes requestAttributes=RequestContextHolder.getRequestAttributes();

ServletRequestAttributes  servletRequestAttributes=ServletRequestAttributes.class.cast(requestAttributes);

//获取request
HttpServletRequest request =servletRequestAttributes.getRequest();
//获取response
HttpServletResponse response = servletRequestAttributes.getResponse();
//设置属性
servletRequestAttributes.setAttribute("name","value","SCOPE_REQUEST|SCOPE_SESSION|");
//获取属性
servletRequestAttributes.getAttribute(String name, int "SCOPE_REQUEST|SCOPE_SESSION|")

 

去除url中的参数
public static String removeParameter(String url, String param) {
    
    return url.replaceAll("[?&]"+param+"=[^&]*&?$", "");

}

 

一、Spring MVC国际化简介

       程序国际化是商业系统的一个基本要求,因为今天的软件系统不再是简单的单机程序,往往都是一个开放的系统,需要面对来自全世界各个地方的访问者,因此,国际化成为商业系统必不可少的一部分。

       Spring MVC的国际化是建立在Java国际化的基础之上的,其一样也是通过提供不同国家/语言环境的消息资源,然后通过 Resource Bundle加载指定 Locale对应的资源文件,再取得该资源文件中指定key对应的消息。这整个过程与Java程序的国际化完全相同,只是 Spring MVC框架对Java程序国际化进行了进一步的封装,从而简化了应用程序的国际化。

 

二、Spring MVC国际化的知识:

     1、messageSource接口:告诉系统国际资源文件的存储位置。         

               org.springframework.context.support.ResourceBundleMessageSource类

 

     2、LocaleResolver接口:确定语言区域

          (1)accept-langage:基于浏览器的语言区域选择  ---  默认方式,不需要配置

          (2)SessionLocaleResolver:基于会话的语言区域选择,需要配置(常用)

          (3)CookieLocaleResolver:基于Cookie的语言区域选择,需要配置

    

     3、LocaleChangeInterceptor拦截器:国际化的拦截器,当语言区域发生改变时,该拦截器将进行拦截,根据传递的参数来改变应用的语言环境。需要在SpringMVC的配置文件中进行注册

      4、message标签:是Spring MVC的标签,在视图页面中输出国际化的消息

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

             <spring:message code="username"/>

          velocigy标签:

               #springMessage("username")

 

三、Spring MVC国际化步骤:

   (1)给系统加载国际化资源文件。

   (2)输出国际化。 Spring MVC输出国际化消息有两种方式:

         A、在视图页面上输出国际化消息,需要使用 Spring MVC的标签库。

         B、在 Controller的处理方法中输出国际化消息,

               需要使用 org.springframework.web.servlet.support Requestcontext的getMessage()方法来完成。

 

四、基于SessionLocaleResolver的国际化:

     1、创建资源文件

         messages_zh_CN.properties

         messages_en_US.properties

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值