ActionErrors的使用
功能:在指定的位置和一定的程序运行条件下显示资源文件内容
重要特色:显示资源文件内的HTML格式内容,这个区别于ActionMessage
缺点:编译出现提示错误,并且1.2以上版本已经没有了这个基础类ActionErrors
第一步:
在资源文件里面书写:
#错误信息提示
error.is.blank=<font color=red><b>不能为空字符串!</b></font>
error.not.number=<font color=red><b>请填写数字!</b></font>
error.is.null=<font color=red><b>不能为空!</b></font>
error.b_infor.remark.length=<font color=red><b><br>长度不能超过200个英文字符,或者100个汉字!</b></font>
在显示的时候:能将这里的按照HTML格式显示
第二步:
在属性文件里面Form增加属性
private String isNull;
private String remark_length;
……get
……set
第三步:
在Action文件里面
ActionErrors m_errors = new ActionErrors();//共有变量
在方法里面:
/**
* 表[b_type]调用执行 增加 or 修改动作的 中转方法
* @param mapping ActionMapping
* @param form ActionForm
* @param request HttpServletRequest
* @param response HttpServletResponse
* @return ActionForward
*/
public ActionForward b_type_addmodify_do(ActionMapping mapping, ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
{
String whereId[] = new String[1];
boolean f_exist_id = false;
Basic_Set_Form m_Form = (Basic_Set_Form) form;
HttpSession session = request.getSession(true);
//超时验证
if (session.getAttribute("login_name") == null)
{
return mapping.findForward("overtime");
}
//以下是错误提示 =======================================================
boolean back=false;
m_errors.clear();
//判断输入的是否为空,增加和修改都要判断这些值是否为空
if(m_function.isNull(m_Form.getM_b_type()))
{
m_errors.add("isNull", new ActionError("error.is.null")); //isNull为属性
saveErrors(request,m_errors);
back=true;
}
//判断是否超过指定长度
if(m_Form.getM_b_remark().trim().length()>=m_remark_length)
{
m_errors.add("remark_length", new ActionError("error.b_infor.remark.length"));
saveErrors(request,m_errors);
back=true;
}
if(back==true)
{
request.setAttribute("b_type",m_Form);
return mapping.findForward("b_type_addmodify");
}
//以下是错误提示 结束=======================================================
String m_reporter = (String) session.getAttribute("login_name");
//检验当前序号是否在数据库存在,如果不存在表示增加/如果存在表示修改
whereId[0] = m_Form.getM_id();
f_exist_id = m_comm.RecordExistId(whereId);
if (f_exist_id==false)
{ //增加记录
return b_type_add_done(mapping,form,request,m_reporter);
}
else //修改记录
{
return b_type_modify_done(mapping,form,request,m_reporter);
}
}
第四步:
在JSP页面内
<html:errors property="isNull"/>
<html:errors property="remark_length"/>
说明:
这种方法被建议不使用,但是实际上其操作比ActionMessage方便多,JSP页面代码少
参考资料http://hi.baidu.com/steelblue/blog/item/d242042a1c6b34395343c12f.html
分享到:
相关推荐
如果验证失败,使用`addError()`方法将错误信息添加到`ActionErrors`实例中。 - **传递错误信息**:在`execute()`方法中,如果`ActionForm`的`validate()`返回了非空的`ActionErrors`,那么需要将这些错误信息传递...
4. **显示错误和消息**:在JSP页面中,使用Struts2的标签库(如`s:actionerror`和`s:actionmessage`)来遍历并显示`ActionContext`中的`ActionErrors`和`ActionMessages`。 ```jsp ()"> ()"> ``` 5. **处理...
`创建一个`ActionErrors`实例,并使用`errors.add(ActionErrors.GLOBAL_MESSAGE);`添加错误到全局错误队列。`GLOBAL_MESSAGE`是一个预定义的错误类型,可以在页面任意位置通过`<html:errors/>`标签显示所有全局错误...
本文将详细讨论如何在Struts中使用ActionForm的`validate`方法进行数据验证。 `validate`方法是在ActionForm中定义的一个可选方法,用于在提交表单数据后验证用户输入的有效性。这个方法通常会在调用Action的`...
在 JSP 页面上使用 `<html:errors>` 标签显示 `ActionErrors` 中的错误信息: ```jsp 用户名: <html:errors property="userName" /><br /> <!-- 其他表单字段 --> ``` 当 `ActionErrors` 中包含与 `userName`...
如果在`validate()`方法中发现错误,你应该使用ActionErrors对象记录这些错误。例如,在登录表单验证中,我们可以检查用户名和密码是否为空,如果为空则添加一个ActionError对象到ActionErrors: ```java public ...
李顺利老师通过他的讲解,让我们深入理解了如何在Struts2中使用特定的标签来实现这一目标。 首先,Struts2提供了`<s:fielderror>`和`s:actionerror`这两个标签用于显示验证错误。`<s:fielderror>`主要用于显示单个...
当验证失败时,我们可以使用`addFieldError()`方法向ActionErrors容器添加错误信息。例如,如果我们验证用户名是否为空,可以这样操作: ```java if (username == null || username.trim().length() == 0) { ...
但若不使用这些标签,开发者可以手动处理ActionErrors,如在JSP中遍历ActionErrors并输出错误信息。 6. **最佳实践** - 将验证逻辑与业务逻辑分离,提高代码可维护性。 - 验证错误信息应明确且具有指导性,帮助...
这是struts中的ActionErrors类
ActionErrors errors = new ActionErrors(); if (fieldName == null || fieldName.trim().length() == 0) { errors.add("fieldName", new ActionError("error.fieldname.required")); } return errors; } ``` ...
Action验证是在Action类中直接进行的,通过对Action中的方法进行逻辑判断,如果发现数据不合法,可以使用`ActionErrors`类来收集错误信息。`ActionErrors`是一个集合,可以存储多个`ActionError`对象,每个`Action...
ActionErrors errors = new ActionErrors(); // 验证规则 if (username == null || username.trim().length() == 0) { errors.add("username", new ActionMessage("error.username.required")); } // 更多验证...
ActionErrors errors = new ActionErrors(); errors.add("globalError", new ActionMessage("token.error")); saveErrors(request, errors); return mapping.findForward("error"); } ``` 7. **生命周期管理*...
在"A269]Struts的验证框架Validate使用续一.exe"这个文件中,可能会进一步探讨如何处理复杂场景下的验证,例如跨字段验证、自定义验证逻辑的实现,以及如何在多个ActionForm之间共享验证规则等。深入理解并熟练应用...
5. 处理验证结果:在Action的execute方法中,可以使用`ActionErrors errors = ActionContext.getContext().getActionErrors();`获取验证错误,并根据需要处理它们。 6. 视图显示:在JSP页面中,使用Struts2的标签库...
ActionErrors errors = new ActionErrors(); // 验证物品名称是否为空 if (getName() == null || getName().trim().equals("")) { errors.add("sellname", new ActionMessage("errors.productNameEmpty")); }...
此外,还定义了一个名为`/login`的动作路径,它使用`loginForm`作为表单数据容器。 #### 五、总结 通过本文的介绍,我们可以看到Struts框架为开发者提供了灵活且强大的表单验证功能。通过合理的代码设计和配置,...
ActionErrors errors = new ActionErrors(); if (username == null || username.length() ) { errors.add("username", new ActionMessage("error.username.required")); } if (password == null || password....
4. 处理验证结果:当验证失败时,Struts将把错误信息存储在ActionErrors对象中,然后在JSP页面上显示这些错误信息,通常使用`<html:errors/>`标签。 三、Struts的验证流程 1. 用户提交表单:浏览器向服务器发送HTTP...