前面的第5讲中用到了addFieldError, 所以这里就做一个专题 来讲讲这方面的事儿.
addActionError() 与addFieldError ()有什么不同, 这里说一说,
这两个都是com.opensymphony.xwork2.ActionSupport类下的方法.
----------------------------------------------------------------------------------
addActionError (String anErrorMessage)
添加一个Action级别的错误消息到Action
anErrorMessage: 错误消息
显示消息的标签是:<s:actionerror /> ,显示全部的 Action级别的错误消息,可以加CSS
anErrorMessage被存放在List中 . 可以去看源码
----------------------------------------------------------------------------------
addFieldError (String fieldName, String errorMessage)
给一个字段(属性) 添加错误消息
fieldName: 字段(属性)名
errorMessage: 错误消息
errorMessage被存放在一个Map中. 可以去看源码
显示消息的标签是:
<!-- 例子 1 -->
<s:fielderror /> 显示全部的 错误消息(用addFieldError方法添加的 )
<!-- 例子 2 -->
<s:fielderror theme="" fieldName="fuwuId"/>
<!-- 例子 3 -->
<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 实图, 并显示错误信息(如果你写了相应的标签)
分享到:
相关推荐
5. **ValidationAwareSupport**:`ActionSupport`类中的`addActionError`、`addActionMessage`和`addFieldError`方法实际上都是委托给内部的`ValidationAwareSupport`对象来实现的。这个类提供了一套方便的接口来...
如果验证失败,可以通过`addFieldError`或`addActionError`添加错误信息,这将导致Struts2返回一个名为“input”的结果,跳过`execute`方法的执行,从而避免无效数据的处理。 例如,以下是一个简单的验证示例: ``...
2. **验证逻辑**:在Action类中,如果验证失败,使用`addActionError()`或`addFieldError()`添加错误信息。 3. **结果映射**:在Struts配置文件(struts.xml)中定义结果映射,指定在成功或失败的情况下应该转发到...
- 可以通过ActionSupport类的`addActionError`和`addFieldError`方法添加错误信息。 6. **实际应用示例**: - 假设有一个用户注册表单,需要验证用户名的唯一性,邮箱格式的正确性,密码的长度限制等。 - 使用...
你可以通过覆盖`ActionSupport`中的`validate`方法来实现校验逻辑,使用`addActionError`和`addFieldError`方法来添加校验错误信息。 - **异常处理**:在Struts2中,未捕获的异常可以通过在`struts.xml`中定义异常...
在`validate`方法中,可以添加针对每个字段的校验逻辑,如果发现错误,通过`addActionError`或`addFieldError`方法添加错误信息。当有错误信息时,流程会被中断,返回到名为`input`的结果页面。 2. **配置式校验**...
- **添加错误信息**:如果发现数据不符合规则,则可以通过调用`addFieldError`或`addActionError`方法来记录错误信息。 - **返回结果**:如果存在校验错误,Struts2会自动返回`"input"`结果,跳转到指定的输入页面;...
`addFieldError()`方法也是类似的。 以下是一个简单的`I18nAction`示例: ```java package wintys.struts2.i18n; import com.opensymphony.xwork2.ActionSupport; public class I18nAction extends ...
例如,在验证方法中,可以通过`addFieldError`或`addActionError`调用`getText`来实现错误信息的国际化。 3. XML国际化:在使用验证器进行数据校验时,也可以对错误信息进行国际化处理。 一个简单的国际化使用案例...
当Action类重写此方法并检测到错误时,可以通过`addFieldError`或`addActionError`添加错误信息。如果存在Action或Field错误,Struts2会自动返回"input"结果,不会执行`execute()`方法。如果验证通过,Struts2会在...
添加错误信息的方式包括addFieldError(field, msg)用于字段级错误信息,以及addActionError(msg)用于添加动作级错误信息。 Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个页面的情况下,能够...
如果在验证过程中发现错误,可以通过`addFieldError()`方法添加Field级别的错误信息,或者通过`addActionError()`方法添加Action级别的错误信息。 - **Field级别错误信息**:Field级别的错误信息关联到特定的表单...
通过`addFieldError()` 方法,可以在字段级别添加错误,从而实现错误信息的个性化展示。 5. **表单字段的保留** 当验证失败并返回到输入页面时,Struts 2会自动保留用户的输入值,这样用户无需重新填写表单,只需...
addFieldError("imageFile", "请选择要上传的图片"); return INPUT; } // 保存文件到服务器 try { File saveDir = new File("/path/to/save/images"); saveDir.mkdirs(); File savedFile = new File...
void addFieldError(String fieldName, String errorMessage) Add an error message for a given field. void clearActionErrors() Clears action errors. void clearErrors() Clears all errors. void...