一、addActionError("错误内容"):Action级别的错误消息
this.addActionError("错误信息1");
this.addActionError("错误信息2");
显示消息的标签是:<s:actionerror />显示全部的 Action级别的错误消息,可以加
CSS
二、addFieldError("字段名","错误信息")给一个字段(属性)添加错误消息
this.addFieldError("pwd", "错误信息1");
this.addFieldError("pwd", "错误信息2");
显示消息的方法1:标签是:<s:fielderror />显示全部的错误消息;
显示消息的方法2:
<s:fielderror>
<s:param>field1 </s:param> 显示指定的 field1字段的 错误消息
<s:param>field2 </s:param> 显示指定的 field2字段的 错误消息
</s:fielderror>
显示消息的方法3:如果什么都不写,则默认显示在相应字段上方
三、addActionMessage("相关信息")
需要在action中重写父类的validate方法,对参数进行校验,如果校验失败。则直
接写错误信息
this.addActionMessage("信息1");
this.addActionMessage("信息2");
显示消息的标签是:<s2:actionmessage/>可以显示全部的消息
注:1、在添加第一个信息之前加上this.clearErrorsAndMessages();用来清空之前
加载的错误信息
2、如果<head></head>之间加上<s:head/>,<s:actionerror />和<s:fielderror
/>会自动加上CSS
<s:actionmessage/>则不会加载.
addActionError() 与addFieldError ()都是
com.opensymphony.xwork2.ActionSupport类下的方法.
-------------------------------------------------------------------------
---------
1.
addActionError (String anErrorMessage)
添加一个Action级别的错误消息到Action
anErrorMessage: 错误消息
显示消息的标签是(如放在jsp页面中):
<s:actionerror /> 显示全部的 Action级别的错误消息,可以加CSS代码。
anErrorMessage被存放在List列表中 。可以去看源码
-------------------------------------------------------------------------
---------
2.
addFieldError (String fieldName, String errorMessage)
给一个字段(属性) 添加错误消息
fieldName: 字段(属性)名
errorMessage: 错误消息
errorMessage被存放在一个Map<key, value>中(其中key存放的是fieldName,
value存放的是errorMessage)。 可以去看源码
显示消息的标签是(如放在jsp页面中):
<!-- 例子 1 -->
<s:fielderror /> 显示全部的错误消息(用addFieldError方法添加的 )
<!-- 例子 2 -->
<s:fielderror>
<s:param>field1 </s:param> 显示指定的 field1字段的 错误消息
<s:param>field2 </s:param> 显示指定的 field2字段的 错误消息
</s:fielderror>
<s:form .... > .... </s:form>
------------------------------------------------------------------
默认主题下, <s:form />能显示错误信息,能自动添加表格排版,(此时错误信息显
示在输入文本框的正上方)
修改主题:<s:form theme="simple"> 不能显示错误信息,不能自动添加表格排版.
-----------------------------------------------
ActionSupport类还有一个 public boolean hasErrors () 方法, 其实他内部实现
是这样的:
(hasActionErrors() || hasFieldErrors()) , 分别检查有无Action级别的错误信
息, 有无Fidld级别的错误的信息.
只要一个为真, 就跳回input 实图, 并显示错误信息(如果你写了相应的标签)