简单数据校验:使用addFieldError方法和s:fieldError标签简单处理数据校验<a href="user/user!add?name=a" >添加用户</a>
使用s:fieldError标签,要加标签库<%@taglib uri="/struts-tags" prefix="s" %>
使用s:fieldError标签,要加标签库<%@taglib uri="/struts-tags" prefix="s" %>
//index.jsp
使用addFieldError方法和s:fieldError标签简单处理数据校验
<a href="user/user!add?name=a" >添加用户</a>
//user_add_error.jsp
User Add Error! <!-- s:fielderror把action中加入的对应fielderror取出 -->
<s:fielderror fieldName="name" theme="simple" />
<br /><!-- theme 表示主题,可以自己定义主题,simple为默认主题 -->
<s:property value="errors.name[0]" /><!-- errors 是一个map,包含key(name)、value(是一个数组) -->
<!-- s:property用于按名字取s:debug中的属性值 -->
<s:debug></s:debug><!-- s:debug -->
//struts.xml配置
<constant name="struts.devMode" value="true" />
<package name="user" extends="struts-default" namespace="/user">
<action name="user" class="com.bjsxt.struts2.user.action.UserAction">
<result>/user_add_success.jsp</result>
<result name="error">/user_add_error.jsp</result>
</action>
</package>
//action
package com.bjsxt.struts2.user.action;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings("serial")
public class UserAction extends ActionSupport {
private String name; //属性接收参数
public String add() {
if(name == null || !name.equals("admin")) {
//添加对属性校验的错误信息,
this.addFieldError("name", "name is error");//表示属性名为name的错误信息
this.addFieldError("name", "name is too long");
return ERROR;
}
return SUCCESS;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}