Struts2验证错误信息的两个经典方法-addFieldError&addActionError

这两个方法都是ActionSupport类实现的方法,应用中我们都会继承ActionSupport类,在ActionSupport类中实现了一个hasErrors()方法,该方法会判断是否存在这两种级别(Action级和Field级)的error,所以当我们需要报错时,我们可以方便的应用:如

try {

XXX

} catch (Exception e) {

Super.addFieldError(“username”, “输入有误”);

或者:

Super.addActionError(“输入有误”);

}

感兴趣可以研究一下源码,使用时我们只需要在页面显示这些错误就OK。

如:

<s:fielderror>

<s:param>username</s:param>

</s:fielderror>

或者

<s:actionerror/>

但是在实际应用中,fielderror我们比较倾向于有针对性的错误信息输出,因为fielderror它本身就是个Map,可以详细指定错误的字段-原因。而且在表单提交时更合适,只要对应了error字段和提交属性的字段。Struts2会为我们自动表格排版(没试验)

修改主题:<s:form theme="simple"> 不能显示错误信息,不能自动添加表格排版,根据需要自己发挥

注:我们只需要进行设置error的默认inputStruts2会为我们自动进行视图转发,<result name=”input”>/input.jsp</result>

时间: 2024-08-29 00:22:25

Struts2验证错误信息的两个经典方法-addFieldError&addActionError的相关文章

MVC model验证 获取验证错误信息

public static class ModelStateExtensions { /// <summary> /// 获取model验证错误信息 /// </summary> /// <param name="controller"></param> /// <returns></returns> public static string ExpendErrors(this System.Web.Mvc.Con

Android中退出多个Activity的两个经典方法

这里介绍两种方法:一种把每个activity记住,然后逐一干掉:另一种思路是使用广播. 方法一.用list保存activity实例,然后逐一干掉 上代码: import java.util.LinkedList; import java.util.List; import android.app.Activity; import android.app.AlertDialog; import android.app.Application; import android.content.Dial

软件测试的两类经典方法

传统上认为软件测试的方法从总体上分为两类. 第一类测试方法是试图验证软件是“工作的”,所谓“工作的”就是指软件的功能是按照预先的设计执行的:而第二类测试方法则是设法证明软件是“不工作的”. 提出第一类方法的代表人物是软件测试领域的先驱Dr. Bill Hetzel,他曾于1972年6月在美国的北卡罗来纳大学组织了历史上第一次正式的关于软件测试的论坛.他首先在1973年给软件测试一个这样的定义:“就是建立一种信心,认为程序能够按预期的设想运行.后来在1983年他又将定义修订为:“评价一个程序和系统

第十九篇:处理僵尸进程的两种经典方法

前言 如果父进程没有结束,而子进程终止了.那么在父进程调用 wait 函数回收这个子进程或者父进程终止以前,这个子进程将一直是僵尸进程. 本文将提供两种方法处理这个问题. 方法一:父进程回收法 wait函数将使其调用者阻塞,直到其某个子进程终止.故父进程可调用wait函数回收其僵尸子进程.除此之外,waitpid函数提供更为详尽的功能( 增加了非阻塞功能以及指定等待功能 ),请读者自行查阅相关资料. 代码实现 1 #include <unistd.h> 2 #include <sys/w

[oldboy-django][2深入django]form表单clean_xx, clean完成数据验证+ form错误信息

form后台生成form里面的Input标签,以及设置Input的属性 # 需求 后台生成form里面的input标签,并设置input标签的属性, class RegisterForm(Form): email = fields.EmailField() password = fields.CharField() password2 = fields.CharField() code = fields.CharField() avatar = fields.FileField(widget=w

保存错误日志回传服务器之回传错误“信息”

近期领导交给我个任务,即已经上线的一个android产品出现Bug,但只是个别手机出现Bug,主流手机都没事,但是我们不可能把所有出现问题的手机都搜集过来测试开发(实际上出现问题的手机都比较难拿到机型,例如:红米定制版,索尼等),因此只能想个办法:在项目中加上保存错误日志,并将错误信息回传到服务器的方法,然后通过错误日志分析Bug,因此我在参考了网上的一些解决方案后,自己修改写了两种方式:一.直接将错误信息+手机信息发送到服务器  二.将错误信息+手机信息保存到一个文件,将文件上传到服务器.不过

asp.net mvc3 数据验证(二)——错误信息的自定义及其本地化

原文:asp.net mvc3 数据验证(二)--错误信息的自定义及其本地化 一.自定义错误信息 在上一篇文章中所做的验证,在界面上提示的信息都是系统自带的,有些读起来比较生硬.比如: : 如果你的环境是英文的,那么你的提示信息就是中英文夹杂的了. 在这种情况下就需要用到自定义错误信息了.其实很简单,就是在model的验证特性中加上[ErrorMessage].比如: Model: [Required(ErrorMessage = "用户名不能为空!")] [Display(Name

Struts2 验证信息样式修改

Struts2里面fielderror标签的样式修改问题 当在我们注册用户时,如果给前台的提示是用户名重复并且用户名太长时,就会要往action里面添加多个errors,这时到前台怎么把它依次拿出来 解决办法 1.我想到的解决办法就是在后台相应的action处作判断,最终给一个错误信息出来,只不过这个错误信息可能会经过判断综合到一起(后台加工).也就是说我们可以从value stack里面拿值 <s:property value=”fielderror.name[0]”/> 2.用struts

使用Struts2 验证框架,验证信息重复多次出现

版权声明:本文为博主原创文章,未经博主允许不得转载. 问题描述:第一次提交表单.某个数据不符合规则,就会出现一条错误信息.再次提交,上次显示的错误信息不消失,又多出一条一模一样的错误信息.提交几次,就会多显示几条一模一样的错误信息. 刚开始发现这个问题还一直以为是spring和struts整合时的错误,查阅了诸多资料,了解了一下struts的校验规则: -->即先进行validation的校验,如果不符合,直接跳转到input页面,不再进入action,同时填充fielderror字段,页面可以