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