request.getLocale().getLanguage();
获取浏览器的默认语言

解决方案 »

  1.   

    Request对象中读取 包含了所有的http信息
      

  2.   

    现在可以判断是中文还是英文了(zh or en),如何能进一步判断是简体中文还是繁体中文呢?比如zh-cn 和zh-HK,谢谢啦!
      

  3.   

    我认为你现在的问题是一个国际化的问题,Java本身就支持多国语言编码,不需要写任何程序,可以很简单的实现。
    首先一点就是:所有HTML/JSP页面全部采用UTF-8编码,因为客户端浏览器完全支持UTF-8.然后将HTML/JSP的ContentType都设为UTF-8,然后对于JSP程序中的非ASCII码提示信息都不应该写在程序里面,都应该放在application.properties里面统一管理。对HTML用native2ascii工具统一做一次处理,把HTML中的非ASCII码都转换为Unicode编码。
    针对不同的语言,写不同的application.properties,比如说简体中文是application_zh_CN.properties,繁体中文是application_zh_TW.properties这样,然后对这些配置信息文件同样用native2ascii工具处理一次,把非ASCII码统统转为Unicode编码。
    在Servlet的request.getCharacterEncoding()获得客户端的操作系统默认编码,然后set到Struts的HTTPSession的Locale中。
      注意:所有的HTML/JSP都要设为UTF-8编码,所有的文件中的非ASCII码字符都要用native2ascii工具转为用ASCII表示的Unicode编码。
     这样就可以实现你说的东西了~