struts2 表单验证
表單驗(yàn)證有兩種方式,代碼驗(yàn)證和xml配置驗(yàn)證器驗(yàn)證。每種方法都可以設(shè)置全局驗(yàn)證和單個(gè)方法驗(yàn)證。感覺(jué)單個(gè)方法用的多一點(diǎn)。
?
例子:用戶注冊(cè),進(jìn)行驗(yàn)證。表單如下
<!--設(shè)置錯(cuò)誤顯示格式--><style type="text/css">
ul {
display: inline-block;
}
ul li{
display: inlin;
color: red;
}
</style>
。。。。。。
<form action="${pageContext.servletContext.contextPath }/User_register.do" method="post"><table align="center" border="1" cellpadding="5" cellspacing="0"><tr><th>用戶名:</th><td><input type="text" name="user.uname"><s:fielderror fieldName="user.uname"></s:fielderror></td></tr><tr><th>年齡:</th><td><input type="text" name="user.uage"></td></tr><tr><th>性別:</th><td><input type="text" name="user.ugender"></td></tr><tr><th>生日:</th><td><input type="text" name="user.ubirthday"></td></tr><tr><td colspan="2" align="center"><input type="submit" value="提交" /> </td></tr></table></form>
struts.xml配置信息
<package name="Userpkg" extends="struts-default"><action name="User_*" class="com.huitong.action.UserAction" method="{1}"><result name="success">/index.jsp</result><result name="input">/register.jsp</result> //如果驗(yàn)證有錯(cuò)誤,會(huì)返回input,此處是讓其跳轉(zhuǎn)到注冊(cè)頁(yè)面</action></package>?
?
方式一、代碼驗(yàn)證,主要方法是:ActionSupport.validate,該方法是對(duì)全局進(jìn)行驗(yàn)證。
如果想要對(duì)某一方法進(jìn)行驗(yàn)證,方法名命名規(guī)則:validate+方法名,方法名首字母大寫(xiě)。
例如:我寫(xiě)的方法是
public String register(){System.out.println(user);return SUCCESS;}那么要驗(yàn)證方法名是:validateRegister,簡(jiǎn)單實(shí)現(xiàn)如下
public void validateRegister() {if(user.getUname() == null || "".equals(user.getUname().trim())){super.addFieldError("username", "用戶名不能為空!");return;}if(user.getUgender()==null || "".equals(user.getUgender().trim())){super.addFieldError("genderempty", "性別不能為空!");return;} }?
方式二:xml驗(yàn)證,struts2提供的驗(yàn)證器可以在xwork2/validator/validators/default.xml文件中查找。配置文件的書(shū)寫(xiě)格式查看/xwork-validator-1.0.3.dtd
配置文件名書(shū)寫(xiě)規(guī)則:ActionClassName-action name-validation.xml,如果是全局的驗(yàn)證就是ActionClassName-validation.xml。
?
簡(jiǎn)單例子如下:文件名是:/webappstruts3/src/com/huitong/action/UserAction-User_register-validation.xml
注意:該配置文件是和相應(yīng)的action文件在同一個(gè)目錄中。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators PUBLIC"-//Apache Struts//XWork Validator 1.0.3//EN""http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> <validators><field name="user.uname"><field-validator type="requiredstring" ><message>用戶名不能為空</message></field-validator></field></validators>?
總結(jié)
以上是生活随笔為你收集整理的struts2 表单验证的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java代码03-打印一个菱形
- 下一篇: mysql怎么通过frm和ibd文件还原