自己手写校验。
在Action中使用this.addFieldError()方法和在JSP页面中使用<s:fieldError>标签简单处理数据校验。
但是<s:fieldError>标签的显示样式都是struts固定好的,如果需要修改样式,可以找到相应的CSS类名并覆盖之即可。
比较常用的一种方法是使用<s:debug>标签,并且使用<s:property>标签
public String add(){
System.out.println("name"+name);
if(name==null || !name.equals("admin")){
this.addFieldError("name", "name is error");
return ERROR;
}
return SUCCESS;
}
<body>
<h1>Error Message</h1>
<s:fielderror fieldName="name" theme="simple" /><!-- 默认带有格式的 -->
<br />
<s:property value="errors.name[0]"/><!-- OGNL表达式,获取值栈 -->
<s:debug></s:debug>
</body>
如上图所示,其中errors中的信息包含actionErrors(action本身出现的错误信息)和fieldErrors(action校验数据信息时返回的表单数据的相关错误信息)中的信息。