关于jstl国际化针对不同应用服务器应用

来源:互联网 发布:无线测试软件 编辑:程序博客网 时间:2024/05/20 11:23

今天解决了jstl在jboss和resin两种应用服务器上的国际化设置问题。

相同的代码在不同的应用服务器上,却在resin上运行出问题,代码如下:

<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %>

  <fmt:setLocale value="en_US" scope="session" />
  <%
  response.sendRedirect("login.jsp");
   %>

 

跳转到login.jsp后,

Locale locale=(Locale)request.getSession().getAttribute(Globals.LOCALE_KEY);

在jboss服务器下取出的是Locale.US,但是在resin服务器下取出的还是Locale.SIMPLIFIED_CHINESE,

 

将代码修改成:

<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %>
<%@page import="java.util.Locale"%>
<%@page import="com.velcro.base.Globals"%>
  <fmt:setLocale value="en_US" scope="session" />
  <%
  request.getSession().setAttribute(Globals.LOCALE_KEY,Locale.US);
  response.sendRedirect("login.jsp");
 %>

 

就可以在resin服务器上正确识别了。

 

看来不同的应该服务器里的jsp解析器,还是有小的差别的。

 

原创粉丝点击