1.重写ActionSupport的validate()方法
index.jsp页面:
<s:form action="MyValidator" validate="true" method="post">
<s:textfield label="学号" name="stu.no"></s:textfield>
<s:textfield label="性别" name="stu.sex"></s:textfield>
<s:textfield label="姓名" name="stu.name"></s:textfield>
<s:textfield label="出生年月日" name="stu.brithday"></s:textfield>
<s:textfield label="专业" name="stu.zhuanye"></s:textfield>
<s:textfield label="总学分" name="stu.score"></s:textfield>
<s:submit value="提交"></s:submit>
</s:form>
struts.xml
<package name="default" namespace="/" extends="struts-default">
<action name="MyValidator" class="action.ValidateAction">
<result>/success.jsp</result>
<result name="input">/index.jsp</result>
</action>
</package>
校验器类即ValidateAction.java
public class ValidateAction extends ActionSupport {
private Student stu;
set方法...
get方法...
@Override
public String execute() throws Exception {
// TODO 自动生成的方法存根
return SUCCESS;
}
@Override
public void validate() {
if (stu.getNo() == null || stu.getNo().equals(""))
addFieldError("stu.no", "学号为空");
if (stu.getSex() == null || stu.getSex().equals(""))
......
}
}
提交表单后首先进入校验器
当学号为空,姓名为空...时就会触发校验器然后返回INPUT,进入struts.xml文件中从而使页面跳转到index.jsp,同时会在相对应的输入框上提示“学号为空”,“姓名为空”之类
如果输入正确则返回SUCCESS,进入struts.xml文件中从而使页面跳转到success.jsp页面