免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2701 | 回复: 0
打印 上一主题 下一主题

html:errors标签与ActionMessage和Struts资源文件指南 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-06-25 01:43 |只看该作者 |倒序浏览

html:errors标签与ActionMessage和Struts资源文件指南
在Struts中我们用html:errors标签在JSP页面上输出验证过程中产生的错误信息,错误信息一般来自于消息资源文件(xxx.properties文件,一般位于classes目录下,文本文件),当然错误信息也可以是不是资源文件中的文本消息,而是自定义的文本。接下来将详细讲述。
  先来看一个简单例子
1、资源文件错误信息来源(其格式为 key = value )
   
   error.test = this is a test error.
2、JSP页面中用于显示错误信息标签
   
   
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))



本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/66265/showart_1010553.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP