struts中的简单用法及国际化转换的方法

1 关于<html:errors>的用法,参照本网站一个人的博客,写的很好,我贴出来吧,如果作者看到了,请与我联系,我将标明出处:

1、资源文件错误信息来源(其格式为 key = value )
   
   error.test = this is a test error.

2、JSP页面中用于显示错误信息标签
  
   <html:errors property="testerror"/>

3、ActionFormBean的validate()方法中产生错误信息

   ActionErrors error = new ActionErrors();

   error.add("testerror",new ActionMessage("error.test"))
  
   return error;

 

  这个例子的功能就是在ActionForm Bean的validate()方法中产生一条名为:testerror的错误信息,错误信息息是资源文件中key为error.test的值。然后在页面上用html:errors标签输出testerror这条错误信息。

  这是最常用的一种功能,所有的错误信息都在资源文件里面。

  有人会问,错误信息只能存放在资源文件中吗,其实不是这样。不需要资源文件也可以产生错误信息。

  我们再来看一下ActionMessage的另一种构造方法:

  ActionMessage(String key,boolean isresource)

  如果isresource值为true,则表示key是资源文件中的key,产生的消息就是与key相对应的消息
  如果isresource值为false,则表示key为一条普通的消息。

  如果上面的error.add改为error.add("testerror",new ActonMessage("这是一条自定义消息",false",));
    那么页面上显示的将是:这是一条自定义消息.


  另外还可以用ActionMessage产生复合消息,比如我们要输出:xxx不能用作用户名,其中xxx是一个变量。

  首先我们在资源文件中加一个条复合消息

  testmsg = {0}不能用作用户名。这里{0}是要被替换的参数。

  我们再来看一下ActionMessage的另一中构造方法
  ActionMessage(String key,Object value0);

  也就是说用value0的值来替换{0}

  我们修改error.add为error.add("testerror",new ActonMessage("testmsg","毛泽东"))

  那么JSP页面上将显示:毛泽东不能用作用户名。


  当然在一条复合消息中也可带多个参数,参数依次为{0},{1},{2}或更多
  例如:loginUser = 用户名:{0} 姓名:{1} 登录次数:{2}.....
  那么在产生错误消息时就用new ActionMessage(String key,Object value0,Object value1,Object  value2.....)或者使用对象数组new ActionMessage(String key,Object[] values)
  

  String[] detail = {"Admin","王晶","12"};
  error.add("testerror",new ActionMessage("loginUser",detail))

2 关于国际化,本人不喜欢看那些技术书籍,又大又厚,说了几十篇看得都迷糊,我喜欢实战,一切都直接了来:

在C盘的根目录下建立两个properties文件,分别是a.properties  和b.properties。

要把a.properties  文件里的汉字国际化了放在b.properties文件中。当我直接在a.properties  里面写汉字的时候,怎么也保存不了,只好先把它变成a.txt格式的,然后把要国际华的内容填好,再把a.txt变成a.properties就保存了。

然后“开始”-》“运行”输入cmd    回车,进入dos

c盘根目录中输入这句话:

native2ascii   -encoding gb2312   a.properties   b.properties   

然后“回车”就OK了

这句话的意思是把a.properties文件要格式化的内容转化好了以后放在b.properties这个文件中。

就是这点东西,书上面说了一堆一堆的废话,记得在图书馆看到一本书,忘了什么名字了,写国际化这块竟然写出100多页,不用搞那么多。你去应聘不会说精通国际化以后就被公司用了,那个公司都没那么傻。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值