日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Struts2的手工自定义验证--完整实例代码

發布時間:2025/3/17 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Struts2的手工自定义验证--完整实例代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ActionSupport類實現了Validateable、ValidationAware接口,

其中Validateable接口就是驗證器接口,該接口有一個validate()方法,

validate()方法專門用來驗證數據,實現的時候需要繼承ActionSupport類,

所以編寫一個Action類時重寫validate()方法就可以實現自定義輸入驗證功能。

?

實例---流程還是老一套

1、在web.xml中配置核心控制器FilterDispatcher

<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <filter> <!-- 配置Struts2核心Filter的名字 --> <filter-name>struts2</filter-name> <!-- 配置Struts2核心Filter的實現類 --> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <!-- 配置Filter攔截的URL --> <filter-mapping> <!-- 配置Struts2的核心FilterDispatcher攔截所有用戶請求 --> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>

?

2、編寫視圖組件(register1.jsp)

<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>用戶注冊頁面</title> </head> <body><center>請輸入信息……<hr><s:form action="register1" method="post"><table border="1"><tr><td><s:textfield name="userName" label="姓名" size="16" /></td></tr><tr><td><s:password name="userPassword" label="密碼" size="18" /></td></tr><tr><td><s:textfield name="userAge" label="年齡" size="16" /></td></tr><tr><td><s:textfield name="userTelephone" label="電話" size="16" /></td></tr><tr><td><s:submit value="提交" /></td></tr></table></s:form></center> </body> </html>

?

3、編寫業務控制器Action類(RegistAction1.java)

  ?這里重寫了validate()方法

package validatorAction;import com.opensymphony.xwork2.ActionSupport;public class RegistAction1 extends ActionSupport{private String userName;private String userPassword;private int userAge;private String userTelephone;public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getUserPassword() {return userPassword;}public void setUserPassword(String userPassword) {this.userPassword = userPassword;}public int getUserAge() {return userAge;}public void setUserAge(int userAge) {this.userAge = userAge;}public String getUserTelephone() {return userTelephone;}public void setUserTelephone(String userTelephone) {this.userTelephone = userTelephone;}//重寫validate()方法public void validate(){if(userName==null||userName.length()<6||userName.length()>16){addFieldError("userName","用戶姓名的長度不符合要求,6~16位!");}if(userPassword.length()<6||userPassword.length()>16){addFieldError("userPassword","密碼的長度不符合要求,6~16位!");}if(userAge>130||userAge<1){addFieldError("userAge","年齡不符合要求,1~130歲");}if(userTelephone.length()!=8){addFieldError("userTelephone","電話號碼不符合要求,8位");}}public String execute(){return "success";}}

?

4、struts.xml配置對應的action(name="register1")

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts><package name="intercept" extends="struts-default"><interceptors><interceptor name="replace" class="interceptor.MyInterceptor" ></interceptor></interceptors><action name="public" class="interceptor.PublicAction"><result name="success">/success.jsp</result><result name="login">/success.jsp</result><interceptor-ref name="defaultStack"></interceptor-ref><interceptor-ref name="replace"></interceptor-ref></action><action name="register1" class="validatorAction.RegistAction1"><result name="input">/validate/register1.jsp</result><result name="success">/validate/success1.jsp</result></action><action name="register2" class="validatorAction.Register2Action"><result name="input">/validate/register2.jsp</result><result name="success">/validate/success2.jsp</result></action></package></struts>

?

轉載于:https://www.cnblogs.com/Donnnnnn/p/5675754.html

新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!

總結

以上是生活随笔為你收集整理的Struts2的手工自定义验证--完整实例代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 96亚洲精品久久久蜜桃 | 人妻丰满熟妇av无码久久洗澡 | 国产99久| 欧美在线一卡 | 国产精品videossex久久发布 | 欧美在线视频网 | 一级片成人| 午夜在线观看av | 欧美精品一区二区三区三州 | 女女h百合无遮涩涩漫画软件 | 国产又粗又猛视频免费 | 91亚洲一线产区二线产区 | 污黄网站在线观看 | 91久久| 国产第一色 | 成人精品一区二区 | 99热在线这里只有精品 | 特级精品毛片免费观看 | 免费的黄色片 | 少妇精品一区 | 男女午夜激情 | 高清国产在线观看 | 狠狠操91| www.久久久 | 蜜桃传媒一区二区亚洲 | 欧美一线高本道 | 色婷婷小说| 激情小说综合 | 五月天婷婷综合网 | 欧美一区二区三区精品 | 日韩精品中文字幕在线播放 | 国产一二三区精品 | 亚洲www在线观看 | 骚虎av在线| 欧美日韩视频在线播放 | 亚洲免费在线播放 | av动漫在线免费观看 | 丁香伊人| 26uuu欧美日本 | 欧美特级a| 欧美国产在线观看 | 国产在成人精品线拍偷自揄拍 | 网站免费视频www | 91日日| 久久久久久久久久久久久女国产乱 | 日本久久久久久久久久久 | 日韩欧美二区三区 | 欧美亚洲一区二区在线观看 | 性网爆门事件集合av | 18禁网站免费无遮挡无码中文 | 粗大黑人巨茎大战欧美成人 | 久久精品影视 | 久久精品蜜桃 | 白丝校花扒腿让我c | 亚洲美女一级片 | 中文字幕精品一区二区三区视频 | 亚洲v日韩v综合v精品v | jizz韩国| 一区二区在线视频免费观看 | 亚洲专区在线播放 | 热久久中文 | 亚洲av无码一区二区二三区软件 | 国产一区二区三区黄 | jizz美女| 天天综合网久久综合网 | 亚洲色图欧洲色图 | 污免费在线观看 | 双乳被四个男人吃奶h文 | 性无码专区无码 | www.69pao.com| 午夜精品区 | 诱惑の诱惑筱田优在线播放 | 亚洲射吧 | 久久精品久久国产 | 人人草人人干 | cao久久| 青青草免费公开视频 | 91天堂在线观看 | 国产福利免费看 | 久久久999精品| 中文字幕欧美一区 | 欧亚一区二区三区 | chinesepron hd videos国产91 | 777黄色| 一级黄色性生活视频 | 日韩香蕉网 | 欧美色图19p | 伊人久久综合视频 | 日本在线高清 | 久久久久久久久99精品 | 人妻互换一二三区激情视频 | 欧美一级网站 | 一区二区国产欧美 | 亚洲精品在线观看网站 | 日韩av在线免费观看 | 国产熟女高潮一区二区三区 | 四虎影视网 | 狠狠操夜夜操 | 色综合综合网 |