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
分享到:
相关推荐
用ActionErrors实现注册验证
Struts ActionErrors
这是struts中的ActionErrors类
如果validate ()返回非空的ActionErrors,将会被转到input属性指定的URI,如果返回空的ActionErrors,那么执行Action的 execute() 方法,根据返回的ActionForward确定目标URI。 这样做的效果是:execute()仅当...
struts提供了标签来显示整个ActionErrors的错误信息。但要在struts-config.xml中设置<action ...
ActionErrors errors=new ActionErrors(); userOPBean userOP=new userOPBean(); userBean user=new userBean(); //------得到用户对象------ addUserForm userForm=(addUserForm)form; user.setUser_address...
Action级别的错误信息就是将错误信息添加到actionErrors,也就是将错误信息添加到addActionError方法中。 /* 1. 真正存放Field级别错误信息的对象是LinkedHashMap * 2. 该LinkedHashMap的key是String类型的,...
11.2.5 ActionErrors(错误处理) 11.2.6 DispatchAction(多动作控制器) 11.3 利用Struts实现用户登录的示例 11.6.1 编写实现登录的页面login.jsp 11.6.2 编写存储登录用户信息的类User.java 11.6.3 编写控制器...
11.2.5 ActionErrors(错误处理) 11.2.6 DispatchAction(多动作控制器) 11.3 利用Struts实现用户登录的示例 11.6.1 编写实现登录的页面login.jsp 11.6.2 编写存储登录用户信息的类User.java 11.6.3 编写控制器...
11.2.5 ActionErrors(错误处理) 11.2.6 DispatchAction(多动作控制器) 11.3 利用Struts实现用户登录的示例 11.6.1 编写实现登录的页面login.jsp 11.6.2 编写存储登录用户信息的类User.java 11.6.3 编写控制器...
11.2.5 ActionErrors(错误处理) 11.2.6 DispatchAction(多动作控制器) 11.3 利用Struts实现用户登录的示例 11.6.1 编写实现登录的页面login.jsp 11.6.2 编写存储登录用户信息的类User.java 11.6.3 编写控制器...
当执行validate方法时,返回的ActionErrors检查内部是否存在元素,有则返回到原来的input指定的页面;否则继续前进,执行Action的execute方法!
主要是actionForm的基本验证,重写validate方法,返回actionErrors,然后根据资源文件显示错误。 这是一个demo例子,直接导入eclispe中即可。 并且这部分内容会在相应的博客中介绍,稍后会更新博客。
有关struts的详细介绍,非常适合初学者学习,也适合使用过struts但未有过深入研究的读者学习。
The UML diagram also included ActionError and ActionErrors. ActionError encapsulates an individual error message. ActionErrors is a container of ActionError classes that the View can access using tags...
改配置可以自动生成,使用eclipse进行自动生成,在建立时,如下图,可直接生成对应的action类和formbean类。 1 2 <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration ...
1. 介绍.........................................................................................................18 1.1. 关于本书..........................................................................
1. 介绍.........................................................................................................18 1.1. 关于本书...........................................................................