精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Struts2教程4:使用validate方法驗證數據

開發 開發工具 后端
Struts是Apache基金會Jakarta項目組的一個Open Source項目,它采用MVC模式,能夠很好地幫助Java開發者利用J2EE開發Web應用。和其他的Java架構一樣,Struts也是面向對象設計,將MVC模式"分離顯示邏輯和業務邏輯"的能力發揮得淋漓盡致。Struts的目的是為了減少在運用MVC設計模型來開發Web應用的時間。你仍然需要學習和應用該架構,不過它將可以完成其中一些繁重的工作。在本系列教程中我們將學習到Struts2的各種技術。

【相關文章】

  1. Struts2教程1:***個Struts2程序
  2. Struts2教程2:處理一個form多個submit
  3. Struts2教程3:struts.xml常用配置解析
  4. Struts2教程5:使用Validation框架驗證數據
  5. Struts2教程6:在Action類中獲得HttpServletResponse對象
  6. Struts2教程7:上傳任意多個文件
  7. Struts2教程8:攔截器概述
  8. Struts2教程9:實現自已的攔截器
  9. Struts2教程10:國際化

在Struts2中最簡單的驗證數據的方法是使用validate。我們從ActionSupport類的源代碼中可以看到,ActionSupport類實現了一個Validateable接口。這個接口只有一個validate方法。如果Action類實現了這個接口,Struts2在調用execute方法之前首先會調用這個方法,我們可以在validate方法中驗證,如果發生錯誤,可以根據錯誤的level選擇字段級錯誤,還是動作級錯誤。并且可使用addFieldError或addActionError加入相應的錯誤信息,如果存在Action或Field錯誤,Struts2會返回“input”(這個并不用開發人員寫,由Struts2自動返回),如果返回了“input”,Struts2就不會再調用execute方法了。如果不存在錯誤信息,Struts2在***會調用execute方法。

這兩個add方法和ActionErrors類中的add方法類似,只是add方法的錯誤信息需要一個ActionMessage對象,比較麻煩。除了加入錯誤信息外,還可以使用addActionMessage方法加入成功提交后的信息。當提交成功后,可以顯示這些信息。

以上三個add方法都在ValidationAware接口中定義,并且在ActionSupport類中有一個默認的實現。其實,在ActionSupport類中的實現實際上是調用了ValidationAwareSupport中的相應的方法,也就是這三個add方法是在ValidationAwareSupport類中實現的,代碼如下:

privatefinalValidationAwareSupportvalidationAware=newValidationAwareSupport();
publicvoidaddActionError(StringanErrorMessage)
{   validationAware.addActionError(anErrorMessage);
}
publicvoidaddActionMessage(StringaMessage)
{
  validationAware.addActionMessage(aMessage);
}
publicvoidaddFieldError(StringfieldName,StringerrorMessage)
{
  validationAware.addFieldError(fieldName,errorMessage);
}

下面我們來實現一個簡單的驗證程序,來體驗一個validate方法的使用。

先來在Web根目錄建立一個主頁面(validate.jsp),代碼如下:

<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%>
<%@taglibprefix="s"uri="/struts-tags"%>
<html>
 <head>
 ?。紅itle>驗證數據</title>
 </head>
 
?。糱ody>
  <s:actionerror/>
 ?。約:actionmessage/>
  <s:formaction="validate.action" theme="simple">
    輸入內容:<s:textfieldname="msg"/>
    <s:fielderrorkey="msg.hello"/>
   ?。糱r/>
   ?。約:submit/>
  </s:form>
 </body>
</html>

在上面的代碼中,使用了Struts2的tag:<s:actionerror>、<s:fielderror>和<s:actionmessage>,分別用來顯示動作錯誤信息,字段錯誤信息,和動作信息。如果信息為空,則不顯示。

現在我們來實現一個動作類,代碼如下:

packageaction;

importjavax.servlet.http.*;
importcom.opensymphony.xwork2.ActionSupport;
importorg.apache.struts2.interceptor.*;
publicclassValidateActionextendsActionSupport
{
  privateStringmsg;
  publicStringexecute()
  {
    System.out.println(SUCCESS);
    returnSUCCESS;
  }
  publicvoidvalidate()
  {
    if(!msg.equalsIgnoreCase("hello"))
    {
      System.out.println(INPUT);
      this.addFieldError("msg.hello","必須輸入hello!");
      this.addActionError("處理動作失敗!");
    }
    else
    {
      this.addActionMessage("提交成功");
    }
  }
  publicStringgetMsg()
  {
    returnmsg;
  }
  publicvoidsetMsg(Stringmsg)
  {
    this.msg=msg;
  }
}

大家從上面的代碼可以看出,Field錯誤需要一個key(一般用來表示是哪一個屬性出的錯誤),而Action錯誤和Action消息只要提供一個信息字符串就可以了。

***來配置一下這個Action,代碼如下:

<packagename="demo"extends="struts-default">
 ?。糰ctionname="validate"class="action.ValidateAction">
    <resultname="success">/error/validate.jsp</result>
   ?。紃esultname="input">/error/validate.jsp</result>
 ?。?action>
</package>

假設應用程序的上下文路徑為demo,則可通過如下的URL來測試程序:

http://localhost:8080/demo/validate.jsp

我們還可以使用ValidationAware接口的其他方法(由ValidationAwareSupport類實現)獲得或設置字段錯誤信息、動作錯誤信息以及動作消息。如hasActionErrors方法判斷是否存在動作層的錯誤,getFieldErrors獲得字段錯誤信息(一個Map對象)。下面是ValidationAware接口提供的所有的方法:

packagecom.opensymphony.xwork2;

importjava.util.Collection;
importjava.util.Map;
publicinterfaceValidationAware
{
  voidsetActionErrors(CollectionerrorMessages);
  CollectiongetActionErrors();
  voidsetActionMessages(Collectionmessages);
  CollectiongetActionMessages();
  voidsetFieldErrors(MaperrorMap);
  MapgetFieldErrors();
  voidaddActionError(StringanErrorMessage);
  voidaddActionMessage(StringaMessage);
  voidaddFieldError(StringfieldName,StringerrorMessage);
  booleanhasActionErrors();
  booleanhasActionMessages();
  booleanhasErrors();
  booleanhasFieldErrors();
}

【編輯推薦】

  1. Struts2教程1:***個Struts2程序
  2. Struts2教程2:處理一個form多個submit
  3. Struts2教程3:struts.xml常用配置解析
  4. Struts2教程5:使用Validation框架驗證數據
  5. Struts2教程6:在Action類中獲得HttpServletResponse對象
  6. Struts2教程7:上傳任意多個文件
  7. Struts2教程8:攔截器概述
  8. Struts2教程9:實現自已的攔截器
  9. Struts2教程10:國際化
責任編輯:楊鵬飛 來源: BlogJava
相關推薦

2009-06-25 15:33:12

Struts2教程使用validate驗證數據

2009-06-25 15:37:12

Struts2教程Validation框

2009-02-04 13:13:03

2011-03-30 09:03:57

struts2

2009-06-25 15:11:28

Struts2教程Struts2程序

2009-02-04 10:51:07

2009-06-03 14:19:34

Struts2Guice

2009-06-25 16:04:30

2009-06-05 10:17:34

struts vali驗證

2009-06-25 15:26:25

Struts2教程struts.xml常

2009-06-05 09:58:20

struts2驗證用戶注冊

2009-02-04 15:04:13

2009-06-25 15:50:03

Struts2教程上傳任意多個文件

2009-06-25 15:54:42

Struts2教程攔截器

2012-05-10 14:00:06

StrutsjsonJava

2009-02-04 11:37:15

2009-07-29 09:54:34

struts2和str

2009-06-04 09:20:19

struts2 if標使用

2009-02-04 14:00:59

2009-02-04 14:19:38

點贊
收藏

51CTO技術棧公眾號

欧美女王vk| 高端美女服务在线视频播放| 国产乱人伦精品一区二区在线观看| 日韩视频在线免费| 亚洲妇女无套内射精| 538在线视频| 国产日韩欧美制服另类| 91精品国产综合久久香蕉| 毛片aaaaa| 成人精品视频| 欧美精品一区二区三区高清aⅴ | 国产精品一二三区视频| 激情综合色综合久久| 91精品国产精品| 日本在线观看网址| 久久97精品| 欧美美女喷水视频| 日韩精品xxxx| 成人免费在线| 国产视频一区在线观看 | 国产精品久久久久久久久久久久久久久久久久 | 日韩一区二区视频在线观看| 日韩中文字幕三区| 2024最新电影免费在线观看| 久久奇米777| 成人自拍偷拍| 91亚洲精品国偷拍自产在线观看| 亚洲精品1区| 久久福利视频导航| 国产精品免费无码| 亚洲第一福利社区| 亚洲高清在线观看| 午夜激情视频网| 黄色精品视频| 欧美视频在线观看免费网址| 国产精品igao激情视频| 日韩专区在线| 中文字幕乱码一区二区免费| 久久久com| 日韩一级片免费观看| 国产美女在线观看一区| 国产精品美女无圣光视频| 亚洲免费黄色网址| 亚洲欧洲视频| 久久久久久久影院| 免费在线观看国产精品| 91精品久久久久久久久久不卡| 国产午夜精品免费一区二区三区 | 国内露脸中年夫妇交换精品| 欧美一区二区三区视频免费 | 国产成人精品aa毛片| 成人性教育视频在线观看| 91久久精品国产91性色69| 日韩av电影一区| 国产成人亚洲综合| 中文字幕在线天堂| 日韩高清欧美激情| 日韩av免费看| 五月激情丁香网| 美女尤物国产一区| 国产日本欧美在线观看| 一区二区三区黄色片| 久久成人麻豆午夜电影| 91免费电影网站| 国产精品久久免费| 国产成人在线免费| 国产精品二区在线| 日韩永久免费视频| 91麻豆精东视频| 日韩午夜视频在线观看| 美女羞羞视频在线观看| 亚洲狠狠丁香婷婷综合久久久| 亚洲乱码日产精品bd在线观看| 欧美xxxbbb| 精品久久久久久久久久ntr影视| 女性女同性aⅴ免费观女性恋| 日韩激情电影免费看| 日本高清不卡一区| 中文字幕第66页| 视频精品一区| 亚洲男人av在线| 免费91在线观看| 欧美久久成人| 日韩av电影院| 国产三级按摩推拿按摩| 成人深夜视频在线观看| 欧美裸体网站| 毛片在线播放a| 亚洲欧美日韩在线不卡| 男人用嘴添女人下身免费视频| 欧美电影h版| 91麻豆精品国产自产在线| 东京热av一区| 不卡日本视频| 久久久久亚洲精品成人网小说| 国产午夜免费福利 | 成人三级做爰av| 精品精品精品| 日韩在线免费视频观看| 中文字幕第28页| 另类欧美日韩国产在线| 国产精品久久精品国产| 超碰国产在线| 亚洲国产乱码最新视频| 啊啊啊国产视频| baoyu135国产精品免费| 正在播放亚洲1区| 亚洲激情视频一区| 久久爱www久久做| 久久国产精品免费一区| 黄色在线观看网站| 91福利在线观看| 精品人妻在线视频| 日韩中文首页| 欧美在线一区二区视频| 国产成人精品亚洲精品色欲| 国产日本欧洲亚洲| 黄色一级片播放| 亚洲一区二区三区日本久久九| 永久免费精品影视网站| 免费看日韩毛片| 国产99一区视频免费| 综合一区中文字幕| 日韩欧美少妇| 日韩国产精品一区| 欧美日韩大片在线观看| 国产在线观看免费一区| 日韩欧美精品一区二区| 午夜不卡影院| 亚洲国产精品成人精品| 亚洲国产成人精品综合99| 蜜臀精品一区二区三区在线观看 | 天堂成人在线| 亚洲午夜久久久久久久久电影网| 亚洲精品第三页| 日韩精品免费| 国产精品美女主播| 免费在线观看污视频| 性久久久久久久久| 少妇献身老头系列| 欧美久久99| 岛国视频一区| 成人影音在线| 精品日产卡一卡二卡麻豆| 中国一级片在线观看| 麻豆精品久久精品色综合| 日本一区二区视频| 电影一区二区三区| 亚洲性视频网址| 天天干天天操天天操| 91麻豆蜜桃一区二区三区| 日本福利视频在线| 伊人成综合网yiren22| 欧美有码在线视频| 青青久在线视频| 色欧美乱欧美15图片| 亚洲综合自拍网| 国产精品亚洲产品| 欧美精品亚洲精品| 色综合一本到久久亚洲91| 国产午夜精品一区二区三区 | 少妇高潮一区二区三区喷水| 欧美96一区二区免费视频| 亚洲成人av动漫| 五月天色综合| 欧美人与性动交a欧美精品| 国产av一区二区三区| 夜夜嗨av一区二区三区四季av| 图片区偷拍区小说区| 亚洲精选在线| 日韩视频在线播放| 国产免费区一区二区三视频免费 | 精品国产乱子伦一区| 国产在线观看免费av| 91小视频免费观看| 一区二区三区 日韩| 91精品国产乱码久久久久久久| 91在线看网站| 无遮挡在线观看| 日韩三级影视基地| 国产小视频一区| 91福利区一区二区三区| 懂色av粉嫩av蜜臀av一区二区三区| 卡一卡二国产精品| 欧美图片激情小说| 国产一区二区亚洲| 91久久精品国产91久久性色tv| av剧情在线观看| 尤物九九久久国产精品的特点 | 成人黄色免费短视频| 精品国内亚洲在观看18黄| 黄色av网址在线| 欧美特级限制片免费在线观看| 久草综合在线视频| 91视频www| 亚洲国产综合av| 欧美专区在线| 中文字幕乱码免费| 免费电影一区二区三区| 91久热免费在线视频| 中文字幕在线直播| 久久综合电影一区| 激情视频在线观看免费| 日韩欧美在线1卡| 亚洲av综合一区| 午夜欧美一区二区三区在线播放| 夫妇交换中文字幕| 95精品视频在线| 亚洲一二三不卡| 人人精品人人爱| 男人日女人逼逼| 午夜欧美在线| 日本一区不卡| 国产精品美女在线观看直播| 国产剧情日韩欧美| 在线精品亚洲欧美日韩国产| 欧美成人精品不卡视频在线观看| 高清在线观看av| 亚洲精品成人久久| www.麻豆av| 在线综合+亚洲+欧美中文字幕| 懂色av中文字幕| 国产视频福利在线| 日韩理论片一区二区| 色综合99久久久无码国产精品| 成人黄色网址在线观看| 天天影视色综合| 免费久久精品视频| 蜜臀久久99精品久久久酒店新书| 影音先锋中文字幕一区| 天天想你在线观看完整版电影免费| 欧美肉体xxxx裸体137大胆| 激情久久av| 荡女精品导航| 99理论电影网| 亚洲精品v亚洲精品v日韩精品| 成人妇女淫片aaaa视频| 巨胸喷奶水www久久久| 日韩免费精品视频| 欧美大片免费观看网址| 日本最新高清不卡中文字幕| 日韩av影片| 青青久久av北条麻妃黑人| 国产h片在线观看| 91国内产香蕉| 九色porny丨入口在线| 国内精品在线一区| sm在线播放| 68精品久久久久久欧美| 精品丝袜在线| 欧美综合在线第二页| 成人爱爱网址| 国产精品福利无圣光在线一区| 亚洲成人不卡| 国产啪精品视频| 久久99成人| 99久久99久久精品国产片| av成人男女| 久久国产精品久久| 精品国产一区一区二区三亚瑟| 日韩欧美亚洲v片| 欧美顶级大胆免费视频| 水蜜桃在线免费观看| 欧美激情无毛| 日本免费不卡一区二区| 性伦欧美刺激片在线观看| 99视频在线免费| 久草中文综合在线| 亚洲精品鲁一鲁一区二区三区 | 川上优av一区二区线观看 | 精品一卡二卡三卡四卡日本乱码| 色狼人综合干| 一本久久a久久精品vr综合| 亚洲精品va| 69sex久久精品国产麻豆| 国产日韩一区| 天天干天天爽天天射| 国产精品白丝jk白祙喷水网站| 亚洲成a人无码| 久久久综合九色合综国产精品| 国产人妻大战黑人20p| 中文字幕在线观看一区二区| 免费人成在线观看| 色综合久久66| 国产精品久久久久久免费播放| 精品电影一区二区三区| 男人av在线| 欧美成人精品一区二区| 午夜伦理福利在线| 成人精品福利视频| 日韩激情啪啪| 中文字幕中文字幕在线中一区高清| 国产精品啊v在线| 成年人免费大片| 国产精品一区二区x88av| 亚洲一区二区乱码| 中文字幕日韩精品一区| 亚洲精品视频在线观看免费视频| 在线一区二区三区四区| 精品国产av一区二区| 亚洲精品自拍偷拍| 久草中文在线观看| 欧美在线不卡区| 精品国产伦一区二区三区观看说明| 精品一区二区视频| 欧美1区免费| 国产一线二线三线在线观看| 成人精品一区二区三区中文字幕| 国产调教在线观看| 午夜精品视频一区| 国产精品午夜福利| 亚洲午夜精品久久久久久久久久久久| 中文字幕在线观看网站| 国产精品女主播| 米奇精品关键词| 亚洲av综合色区| 蜜桃视频在线观看一区二区| 丝袜熟女一区二区三区| 亚洲人成影院在线观看| 波多野结衣黄色网址| 亚洲精品wwwww| 国产三线在线| 亚洲综合色av| 欧美大黑bbbbbbbbb在线| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 国产乱码精品一区二区三区忘忧草| 中文字幕av久久爽一区| 欧美视频在线视频| 日本xxxxxwwwww| 欧美国产日产韩国视频| 热久久久久久| 五月天丁香综合久久国产| 久久精品中文| 亚洲av无码一区二区二三区| 午夜电影网一区| 日本在线播放不卡| 日韩电影免费观看高清完整版| 国产精品伊人日日| 欧美日韩18| 两性午夜免费视频| 亚洲日本护士毛茸茸| 国产精品久久久久久久免费看| www.日韩系列| 超碰国产精品一区二页| 一区二区在线不卡| 精品一区二区三区蜜桃| 精品在线观看一区| 欧美日韩电影在线| 蜜桃av在线免费观看| 91在线免费观看网站| 欧美激情成人在线| 中文字幕永久免费| 同产精品九九九| 日本午夜在线视频| 国产97免费视| 日韩国产欧美| 欧美视频亚洲图片| 亚洲免费视频中文字幕| 亚洲精品字幕在线| 久久久在线观看| 色婷婷久久久| 日韩中文字幕组| 国产精品麻豆99久久久久久| 国产一区二区自拍视频| 欧美成人在线影院| 久久香蕉网站| 黄色一级一级片| 中文字幕亚洲成人| www国产一区| 91精品国产高清久久久久久久久 | 播放一区二区| 中文字幕一区二区三区在线乱码| 国产精品77777竹菊影视小说| 久久久久久久久久99| 日韩成人中文字幕| 日韩成人影音| 天天做天天爱天天高潮| 东方欧美亚洲色图在线| 久久久国产精品成人免费| 国产午夜精品视频| 国产午夜亚洲精品一级在线| 国产美女作爱全过程免费视频| 91蜜桃在线免费视频| 中文字幕 日韩有码| 欧美精品videos性欧美| 色天下一区二区三区| 久久久久久久久久一区| 亚洲午夜成aⅴ人片| 高清美女视频一区| 91精品在线国产| 国产精品视区| 天堂网avav| 亚洲欧美变态国产另类| 亚洲日本中文| www国产黄色| 玉足女爽爽91| √新版天堂资源在线资源| 国产精品三区四区| 奇米777欧美一区二区| 黄网站免费在线|