如果你對客戶端的js校驗不放心的話,不妨使用服務(wù)器端校驗。該校驗是無法繞過的。struts2提供的驗證框架可以實現(xiàn)這種功能。struts2提供兩種校驗方法:一種是寫XML校驗。另外一種是在action中寫validate方法。這個例子將會用到后者。
1、包結(jié)構(gòu):
2、源代碼:
UserAction.java
struts.xml:
index.jsp:
1、包結(jié)構(gòu):

2、源代碼:
UserAction.java
package action; import com.opensymphony.xwork2.ActionSupport; public class UserAction extends ActionSupport{ private String name; private String password; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public void validateSave(){ if("whatisjava".equals(name)){ this.addFieldError("dataErr", "該名稱已存在"); } } public String save(){ System.out.println("save"); return "success"; } }
struts.xml:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <package name="struts" extends="struts-default" namespace="/"> <action name="save" class="action.UserAction" method="save"> <result name="success">index.jsp</result> <result name="input">index.jsp</result> </action> </package> </struts>
index.jsp:
<%@ page pageEncoding="UTF-8"%> <%@taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>validate</title> </head> <body> <h1> tstruts2的validate()方法 </h1> <li> 繼承ActionSupport類 </li> <li> 遵循以下命名規(guī)則:validate+方法名。 <br> 例如:validateSave(); save()為頁面要訪問的action執(zhí)行的方法名稱。 </li> <li> 在校驗方法中添加驗證信息:this.addFieldError("dataErr", "該記錄已存在。"); </li> <li> 頁面上添加struts2標(biāo)簽:s:fielderror key="dataErr" 其中dataErr為校驗方法中的fieldError名。 </li> <hr> 下面做一個測試,當(dāng)用戶輸入的用戶名為whatisjava時候?qū)⒁暈閿?shù)據(jù)已存在。表單不會被提交。 <br /> <form action="save.action"> <s:fielderror key="dataErr"></s:fielderror> <br> 用戶名: <input type="text" name="name"> <br> 密 碼: <input type="password" name="password"> <br> <button type="submit"> 提交 </button> </form> </body> </html>
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
