zoukankan      html  css  js  c++  java
  • struts中ApplicationResources.properties支持中文

    使ApplicationResources.properties支持中文
    第一种方法:

    建立一个ApplicationResources_ISO.properties文件,把应用程序用的message都写进去,
    然后在dos下执行这个命令,是jdk/bin中的cmd:
    native2ascii -encoding gb2312 ApplicationResources_ISO.properties ApplicationResources.properties
    这样就会将ISO编码的ApplicationResources转换成GB2312编码的格式了,同时保存到
    ApplicationResources.properties。这个文件需要保存在 \WEB-INF\classes目录中
    native2ascii这个工具是jdk自带的一个东东,所以如果path都设定正确就可以直接运行了,
    你可以在$java_home$/bin下找到他。
    转换后的中文类似于这个样子:
    iso 格式下 :tj.type=商品车类型
    gb2312格式下 :tj.type=\u5546\u54c1\u8f66\u7c7b\u578b

    方法2:
    今日做了个struts验证小程序,显示ApplicationResources.properties中汉字提示信息,结果显示乱码。怎么也没解决,后来发现一个插件Poperties Editor,只要装上,就可以自动解决这个问题。下面找了安装方法:
    Poperties Editor介绍
    一个在编辑完成后可以将资源文件中的中文编码格式转换为unicode编码的插件,在开发国际化应用程序的时候非常有用
    http://propedit.sourceforge.jp/eclipse/updates/
    安装方法:在线安装Poperties Editor
    启动eclipse,点菜单Help -> SoftWare Updates -> find and install->选中Search for new features to install ->next->点击 New Remote site->给这个更新站点取个名字 如:luanma,url填写http://propedit.sourceforge.jp/eclipse/updates即可。->点击ok->选中刚才新加的站点名称,点击finish->他会自动找出与你所用的eclipse版本相适应的插件全部选中->后面只要选择install all即可
    ->最后会提示你重起你的eclipse
    所有的properties文件名的前面都有一个绿色的p字.
     
    注意:当你安装完之后,那个properties文件里有中文,你编译之后它自动就会转化了。

    方法3:

    修改struts源码解决ApplicationResources.properties里不能直接用中文的一个方法

    native2ascii
    用这个命令转换我觉得不方便 不知别人如何 呵呵

    改页面8859_1(不能是iso-8859-1)可以不用native2ascii转换ApplicationResources.properties
    可是没页都要改啊8859_1也很麻烦

    所以只好找struts本身来解决了呵呵

    struts.jar

    org.apache.struts.taglib.bean.MessageTag类


    找到doStartTag()方法

    里面有行ResponseUtils.write(super.pageContext, message);

    在这行上面加上一句 如下

            try
            {
                message = new String(message.getBytes("iso-8859-1"), "gb2312");
            }
            catch(Exception exception) { }

            ResponseUtils.write(super.pageContext, message);


    这样就OK了

    <%@ page contentType="text/html; charset=gb2312" language="java" %>
    要用gb2312

  • 相关阅读:
    Android API之android.provider.ContactsContract.Data
    Android API之android.provider.ContactsContract
    Android API之android.provider.ContactsContract.Contacts
    Android API之android.os.Parcelable
    Android网络开发之基本介绍
    wpf小技巧——datagrid 滚动条问题
    C# List去重的三种方法(转)
    spring jwt springboot RESTful API认证方式
    Springboot 实现api校验和登录验证
    SpringBoot系列
  • 原文地址:https://www.cnblogs.com/myssh/p/1433918.html
Copyright © 2011-2022 走看看