关闭

Struts2学习笔记2--输入校验

标签: strutsactioninput框架java
281人阅读 评论(0) 收藏 举报
分类:
转自http://www.cnblogs.com/d2ee/archive/2011/09/20/2181981.htmlstruts2的输入校验是在类型转换的时候发生的,从页面字符串到后台java的对象的中间发生的。具体原因有:1,类型转换失败,2校验数据的合理性。   方法有:1)使用ActionSupport类的方法validate(),重写该方法,调用this.addActionError()将原因放在方法内。这是Action级别的错误,这是对原始数据在业务逻辑中的判断,还有一种是addFieldError()这是指定某个转换字段出问题了,这个方法即使不写出来,如果在页面字符串到Action内的对象转换出现不能匹配的话,struts2也会自动将这个方法执行,交给input对应的result页面。input是对应这个Action的出现任何错误所执行的一个result,名字是固定的:input,结果页面是自定义的,通常为原始页面;出现错误的显示:使用struts2的标签:         引入标签库:<%@ taglib prefix="s" uri="/struts-tags"%>         然后使用标签:就能显示来自于action的错误提示信息了                 这个是显示字段出错的信息         关于错误提示信息:action级别的错误是自定义的,如果没有就不显示;但是字段错误如果有一定自动就加入了,如果不自定义该错误提示,框架就自动用默认的提示语句,如果要自定义,可以使用配置文件:在该Action类包里新建一个文件命名为:Action名字.properties,然后在里面使用Invalid.fieldvalue.[字段名字]=[自定义的错误提示信息],每一行写一个字段的提示信息。       2)使用自定义的验证方法:由于validate()方法是针对于所有的execute()方法,即使是有自定义的execute()也会执行此验证方法,自定的方法是针对于该方法,而且是在执行自定义execute方法之前执行,该自定义的验证方法名字是固定的:validate+自定义的execute(),例如:validateMyExecute()。如果同时存在有自定义的验证方法和原有的validate(),两者都会先于自定义的execute执行,先执行validateMyexecute(),在执行validate(),两个出现任何错误都不会执行Myexecute()方法了。
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:123441次
    • 积分:1484
    • 等级:
    • 排名:千里之外
    • 原创:15篇
    • 转载:61篇
    • 译文:0篇
    • 评论:18条
    最新评论