1, 创建一个web项目;
2, 给项目添加struts支持;
3, 创建一个login.jsp页面;
<HTML:form action="user.do" method="post" focus="user.uname"> <table> <tr> <td>Login:</td> <td><html:text property="user.uname" /> <html:errors property="user.uname" /><!—显示错误信息 à</td> </tr> <tr> <td>PassWord:</td> <td><html:password property="user.upass"/> <html:errors property="user.upass" /><!—显示错误信息 à</td> </tr> <tr> <td colspan="2"><html:submit/></td> </tr> </table> </html:form>
4, 创建一个继承ValidatorForm的form bean
特别注意:不能重写validate()方法(如果重写了此方法就会不通过srtuts的验证);
在form bean中写入属性private User user = new User();然后添加getter和setter方法;
5,创建一个Action,在struts-config.xml中配置如下:
<action attribute="userForm" name="userForm"//form bean名称 parameter="op"//DispatchAction的处理方法名 path="/user" //请求的路径 input="/login.jsp" //输入内容的jsp路径
validate="true" //是否用validate验证为true scope="request"//作用域为request type="com.aptech.web.action.UserAction"> //Action的类型 <forward name="index" path="/index.jsp" /> //一个jsp导向 </action> 如果要使用验证那么struts-config.xml中必须填写
Input=”/login.jsp”; //如果没有这句,验证没有通过后,将会无法跳转到输入页面
Validate=”true”; //如果没有这句,将会不进行struts验证
6,创建资源文件并部署资源文件:
在struts文件中部署资源文件:
<message-resources parameter="com.zhangjie.struts.ApplicationResources" />
1)在资源文件中写入msg.uname = user name; msg.upass = user pass;
2)将validator-rules.xml中的被注释掉的东东都拷到资源文件中
7,创建validations.xml文件并配置如下:
<formset> <!-- 定义要验证的表单 name:与要验证的表单同名--> <form name="userForm"> <field property="user.uname" depends="required"> <arg key="msg.uname"/> <!—其中key对应资源文件中的msg.uname,作为表单验证errors.required中传递的参数 --> <!—其中property的属性为userForm中的属性--> <!—其中depends为验证类型 --> </field> <field property="user.upass" depends="required"> <arg key="msg.upass"/> </field> </form> </formset>
8,加载validation插件
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property
property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validations.xml"/> </plug-in>
|