亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

全程解析Struts中兩個相似類的解釋

2019-11-18 12:54:51
字體:
來源:轉載
供稿:網友

  DispatchAction
  
  =======================
  
  我自己認為DispatchAction可用可不用,不過DispatchAction 確實提供了一些方便。
  
  下邊簡要對它的用法做一些說明:
  
  DispatchAction的作用簡單地說就是把原來我們寫在多個acton里的操作放在同一個
  
  action里處理。
  
  舉個例子就是假如在你的系統中有文章的治理操作,那么通常有
  
  以下操作:添加文章、察看文章、搜索文章等等,這樣的話一般你會寫
  
  三個action[ArtilceSaveAction ArticleViewAction ArticleSearchAction ]分別處理各個操作,
  
  雖然說這樣看起來是非常清楚、流暢的操作,但是你會發現在三個action理由太多的相同的東西。
  
  現在利用DispatchAction,我們可以把“相似”的action放在一個action里操作。
  
  下面以上邊的三個action和到一個action里為例:
  
  import ****;
  
  import org.apache.struts.actions.DispatchAction;
  
  public class ArticleAction extends DispatchAction{
  
  /**
  
  *AritcleAddAction
  
  */
  
  public ActionForward add(ActionMapping mapping,
  
  ActionForm form,
  
  HttpServletRequest request,
  
  HttpServletResponse response)
  
  throws Exception {
  
  ...
  
  ...
  
  }
  
  /**
  
  *AritcleViewAction
  
  */
  
  public ActionForward view(ActionMapping mapping,
  
  ActionForm form,
  
  HttpServletRequest request,
  
  HttpServletResponse response)
  
  throws Exception {
  ...
  ...
  
  }
  
  /**
  
  *AritcleSearchAction
  
  */
  
  public ActionForward search(ActionMapping mapping,
  
  ActionForm form,
  
  HttpServletRequest request,
  
  HttpServletResponse response)
  
  throws Exception {
  ...
  ...
  
  }
  
  }
  
  好了,該action的框架已經完成,但是要想可用,還要有一步不可少的操作,
  
  那就是更改你的action mapping ,還以上邊的例子,如下:
  
  <action path="/article"
  
  input="/article/***.jsp"
  
  parameter="method" <!--#####################-->
  
  scope="request"
  
  type="com.***.ArticleAction"
  
  validate="false">
  
  <forward name="SUCcess" path="/article/***.jsp" redirect="true"/>
  
  </action>
  
  看到上邊你會發現,它和我們通常的寫法多個一項:“parameter="method"”,這是有道理的并且非常重要:
  
  DispatchAction會根據具體的method值來確定調用add,view 或者search
  
  如下面的來自client的請求:
  
  article.do?method=add 則會觸發添加文章的操作。
  
  以上只是根據一個簡單的例子來分析DispatchAction,實際應用的情況可能會更復雜。
  
  LookupDispatchAction
  
  ========================
  
  org.apache.struts.actions.LookupDispatchAction.java
  
  從名字大概我們也能看出LookupDispatchAction是DispatchAction的子類。他們從功能上有許多相似的地方。
  
  下面還是以一個例子來簡要的說明:
  
  通常它主要應用于“在一個表單中有多個提交按鈕而這些按鈕又有一個共同的名字”,而這些按鈕的名字要和具體的action mapping中的parameter的值對應。[這點很重要]
  
  如下代碼截取自struts-config.xml
  
  <action path="/editArticle"
  
  type="com.****.EditArticleAction"
  
  name="AtricleForm"
  
  scope="request"
  
  parameter="action"><!--按鈕的名字此處為“action”-->
  
  <forward name="success" path="/***.jsp"/>
  
  </action>
  
  下面給出一個jsp頁面的表單部分
  
  <Html:form action="/editArticle"/>
  
  <html:submit property="action">
  
  <bean:message key="button.view"/>
  
  </html:submit>
  
  <html:submit property="action">
  
  <bean:message key="button.delete"/>
  
  </html:submit>
  
  </html:form>
  
  那么相應的applicationResources.PRoperties中就會有如下片斷:
  
  button.view=View The Article
  
  button.delete=Delete The Atricle
  
  此時還并為完成,在LookupDispatchAction中有一個抽象方法:
  
  /**
  
  * Provides the mapping from resource key to method name
  
  *
  
  *@return     Resource key / method name map
  
  */
  
  protected abstract Map getKeyMethodMap();
  
  這個方法你應該在EditArticleAction中實現,如下:
  
  protected Map getKeyMethodMap(){
  
  Map map = new HashMap();
  
  map.put("button.view", "view");
  
  map.put("button.delete", "delete");
  
  return map;
  
  }
  
  好了,假設在你的EditArticleAction有如下方法:
  
  public ActionForward view(ActionMapping mapping,
  
  ActionForm form,
  
  HttpServletRequest request,
  
  HttpServletResponse response)
  
  throws IOException, ServletException {
  
  //......
  
  //......
  return mapping.findForward("success");
  
  }
  
  public ActionForward delete(ActionMapping mapping,
  
  ActionForm form,
  
  HttpServletRequest request,
  
  HttpServletResponse response)
  
  throws IOException, ServletException {
  
  //......
  
  //......
  
  return mapping.findForward("success");
  
  }
  
  下面實例幾個假設client端的請求:
  
  http://....../editArticle.do此時頁面有兩個按鈕,按鈕1“View The Article”,"",按鈕2“Delete The Atricle”
  
  當提交按鈕1時調用EditArticleAction里的view方法;
  
  當提交按鈕2時調用EditArticleAction里的delete方法;
  
  以下還有一點說明;
  
  假如我有一個按鈕要出發action的AA方法,但是在該action沒有AA方法,此時將拋出異常;假如該action中有兩個AA方法,則會調用第一個。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97超级碰在线看视频免费在线看| 精品动漫一区二区三区| 国产精品视频精品| 日韩高清电影免费观看完整版| 福利精品视频在线| 97精品国产97久久久久久| 欧美激情视频一区二区| 69精品小视频| 国产精品美女主播在线观看纯欲| 3344国产精品免费看| 亚洲激情在线视频| 亚州国产精品久久久| 国产成人一区二区三区电影| 久久国产加勒比精品无码| 久久夜色精品国产| 日韩美女主播视频| 国产精品久久久久aaaa九色| 国产成人综合亚洲| 欧美一级大片在线观看| 91极品女神在线| 亚洲色图第一页| 韩国国内大量揄拍精品视频| 久久精视频免费在线久久完整在线看| 国产免费一区二区三区在线观看| 欧美日韩国产综合新一区| 日韩免费观看高清| 国产精品久久久久久久久久久久| 免费97视频在线精品国自产拍| 日韩最新av在线| 亚洲乱码国产乱码精品精| 久久免费视频在线观看| 热草久综合在线| 国产精品偷伦视频免费观看国产| 69视频在线免费观看| 亚洲第一精品久久忘忧草社区| 欧美大片在线影院| 国产偷国产偷亚洲清高网站| 欧美成人精品在线观看| 亚洲精品国产拍免费91在线| 国产a∨精品一区二区三区不卡| 国产一区二区三区视频在线观看| 中文字幕日本欧美| 日本久久久a级免费| 国产精品福利无圣光在线一区| 精品美女久久久久久免费| 成人国产精品一区二区| 91久久国产精品91久久性色| 91精品国产九九九久久久亚洲| 91午夜在线播放| 伊人伊成久久人综合网站| 日韩在线视频导航| 久久久www成人免费精品张筱雨| 亚洲欧美制服第一页| 久久影院资源站| 最近2019年日本中文免费字幕| 亚洲www在线观看| 欧美性感美女h网站在线观看免费| 这里只有精品久久| 亚洲免费小视频| 久久精品国产成人| 亚洲精品国产精品自产a区红杏吧| 亚洲人av在线影院| 亚洲精品成人网| 亚洲欧美日韩一区二区三区在线| 欧美不卡视频一区发布| 久久偷看各类女兵18女厕嘘嘘| 欧美亚洲视频一区二区| 亚洲区在线播放| 亚洲国产精久久久久久| 国产精品日日做人人爱| 亚洲欧美一区二区三区四区| 成人免费看吃奶视频网站| 国产日韩欧美一二三区| 欧美日韩亚洲视频一区| 美女久久久久久久久久久| 欧美激情第三页| 国产亚洲视频在线观看| 成人午夜在线视频一区| 琪琪第一精品导航| 高清欧美性猛交xxxx黑人猛交| 国模精品视频一区二区| 欧美日韩久久久久| 国内精品久久久久久| 日本亚洲欧洲色α| 欧美理论在线观看| 欧美xxxx做受欧美.88| 亚洲人成电影网站| 日本精品视频在线观看| 亚洲国产精品悠悠久久琪琪| 91精品国产色综合| 一区二区三区久久精品| 色七七影院综合| 97久久久免费福利网址| 国产精品免费久久久久久| 国产亚洲精品高潮| 国产视频亚洲视频| 日韩在线观看电影| 日本亚洲欧洲色| 欧美一级淫片videoshd| 国产99在线|中文| 九九综合九九综合| 在线观看成人黄色| 成人免费视频网址| 最近中文字幕日韩精品| 亚洲视频免费一区| 日韩午夜在线视频| 国产精品激情自拍| 亚洲福利视频在线| 日韩av不卡电影| 成人精品视频99在线观看免费| 欧美日韩在线影院| 亚洲性猛交xxxxwww| 国产精品91久久| 国产欧美婷婷中文| 欧美理论电影在线播放| 91精品国产91久久久久久不卡| 久久久中精品2020中文| 国产欧美日韩亚洲精品| 欧美老女人性生活| 成人精品久久久| 欧美成人激情图片网| 富二代精品短视频| 最新国产精品亚洲| 精品视频www| 91精品视频免费| 亚洲aaaaaa| 国产第一区电影| 日韩在线视频免费观看高清中文| 成人久久一区二区三区| 久久精品99久久香蕉国产色戒| 成人做爰www免费看视频网站| 91综合免费在线| 日韩二区三区在线| 国产香蕉一区二区三区在线视频| 欧美成人午夜剧场免费观看| 日韩电影免费在线观看| 欧美贵妇videos办公室| 福利一区福利二区微拍刺激| 欧美成人免费观看| 欧美激情久久久久久| 欧美伦理91i| 日韩免费在线看| 韩国国内大量揄拍精品视频| 51精品国产黑色丝袜高跟鞋| 91视频免费网站| 国产精品欧美日韩一区二区| 成人午夜高潮视频| 日韩精品中文字幕视频在线| 亚洲肉体裸体xxxx137| 日韩欧美a级成人黄色| 久久精品亚洲精品| 国产成人高清激情视频在线观看| 91国产精品视频在线| 欧美日韩中文字幕综合视频| www.欧美三级电影.com| 日韩在线视频免费观看| 91国语精品自产拍在线观看性色| 久久久影视精品| 国产福利精品视频| 欧美最猛性xxxx| 亚洲精品国产suv| 国模精品一区二区三区色天香| 欧美精品亚州精品| 亚洲男人的天堂在线播放|