一、验证总结 1、形式差别 代码: 1)重写validate(),验证action所有方法 2)validate方法名(),验证指定“方法名”的方法
Xml: 1)验证所有方法: ActionClassName-validation.xml 2)验证指定方法: ActionClassName-actionName-validation.xml
2、功能及作用差别 1)代码验证: 比较灵活,可以满足所有的需求。 比较繁琐,要写重复的验证判断逻辑! 适合: 表单字段较少的情况用!
2)XML验证: 通用,但不够灵活。 可以验证特定简单的业务。 适合: 验证表单字段较多,可以大大简化代码!(但配置文件过多)
二、验证的错误处理 Struts在进行数据效验的时候,验证失败,会返回input视图,要求我们要在struts.xml中配置input视图对应的错误页面!
1、配置:Struts.xml
<!-- 注册失败跳转到注册页面,显示失败信息 --> <global-results> <result name="input">/register.jsp</result> </global-results>2、Jsp显示错误 方式1:显示所有错误
<%@taglib uri="/struts-tags" prefix="s" %> <!-- 显示的是struts在运行时期产生的所有错误 --> <s:fielderror></s:fielderror>方式2:显示指定的错误
<!-- 修改struts标签默认的样式: 不让换行 --> <style type="text/css"> ul{ display: inline; } ul li{ display: inline; color: red; } </style> <!-- 显示指定的错误 --> <s:fielderror fieldName="user.userName"></s:fielderror>方式3:修改标签定义的模板(了解即可) 1)找到fielderror标签定义的模板文件: Struts-core.jar\template\simple\ fielderror.ftl 2)把修改后的fielderror.ftl文件,放到src/ template/ simple/ fielderror.ftl,这样标签显示的样式就修改了!
3、案例展示: 1)register.jsp、UserAction-validation.xml 2)struts.xml配置 3)效果 未填写: 填写完成,点击注册后:
