麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Turbine Howto 之 Action Event [譯]

2019-11-18 13:15:53
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  Turbine 有一個(gè)非常好的功能來(lái)幫助開(kāi)發(fā)人員處理web耶面的提交數(shù)據(jù).為了理解這一功能,你需要知道Turbine是如何處理一次提交的.
  事實(shí)上,當(dāng)在一個(gè)URI中只要發(fā)現(xiàn)有action這個(gè)變量出現(xiàn),在執(zhí)行所有Screen類之前會(huì)執(zhí)行一個(gè)程序,我們來(lái)看下面這個(gè)例子(來(lái)自VelocitySite的Howto示例):
  
  對(duì)于URL"http: //www.server.com/servlet/Turbine/template/AddUser/action/NewUser",Turbine 會(huì)首先執(zhí)行一個(gè)名叫"NewUse"的Action類,在這種情況下,所有繼續(xù)ActionEvent而不是Action的類都可以象如下的代碼一樣方便的處理:
  
  public class NewUser extends VelocityAction
  {
  public void doAdd (RunData data, Context context) throws Exception
  {
  // put code here to add the user to the system
  context.put ("username", username );
  data.setMessage("User Added!");
  }
  
  public void doPerform(RunData data, Context context) throws Exception
  {
  data.setMessage("Button not found!");
  }
  }
  
  然后,在Html中這樣寫(xiě):
  
  <input type="submit" name="eventSubmit_doAdd" value="Add User">
  
  當(dāng)Action執(zhí)行的時(shí)候,將會(huì)收到一個(gè)"事件"來(lái)執(zhí)行Action類中的"doAdd()"方法.這樣處理最"酷"的就是你的每一種"action(操作,注:比如點(diǎn)擊一個(gè)提交按鈕等)"都可以對(duì)應(yīng)到Action類中一個(gè)特定的方法.
  
  這個(gè)新的功能并不意味著你應(yīng)該把所有的操作都寫(xiě)到一個(gè)類里,而是假設(shè)有一個(gè)頁(yè)面里面有一些和這個(gè)頁(yè)面關(guān)西很緊密的操作,這時(shí)最好是把這些操作都寫(xiě)到同一個(gè)類里.這樣可以幫助你方便的判定并處理具體哪個(gè)按鈕給點(diǎn)擊了,而不是用一些"if-else"來(lái).
  
  假如判定不出哪個(gè)按鈕被點(diǎn)擊了(找不到一個(gè)合適的方法執(zhí)行),將會(huì)執(zhí)行doPerform()方法.
  
  因?yàn)镻arameterParser把所有的"key"都變成了小寫(xiě),我們必須將提交的數(shù)據(jù)里得到一個(gè)合適的方法名,比如:一個(gè)按鈕名叫 eventSubmit_doDelete,提交的時(shí)候就變成了eventsubmit_dodelete,因此,我們需要通過(guò)一些命名規(guī)范來(lái)得到真正的方法名,轉(zhuǎn)換的規(guī)則是:
  * 變量名(如:提交按鈕)必需以"eventSubmit_"開(kāi)頭
  * 變量名在這個(gè)前綴后必需是"do"
  * 在"do"之后的第一個(gè)字母必須是大寫(xiě)并且其他都是小寫(xiě)
  只要你遵循這些命名規(guī)范,在Action類中就能找到相應(yīng)的方法來(lái)執(zhí)行.
  
  (注:以上規(guī)則適合turbine2.1及以前的版本,在turbine2.2及以后的版本中 eventSubmit_doMySaveMethod也是一個(gè)合法的名子,因?yàn)樵?.2以后的版本里,Parameterparser不會(huì)把"key" 都變成小寫(xiě),這一點(diǎn)在取得提交數(shù)據(jù)的時(shí)候也要注重的)
  
  在TurbineResources.javascript)提交的時(shí)候比較有用.

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧美日韩精品不卡一区二区三区 | 日本人乱人乱亲乱色视频观看 | 欧美一级黄色片在线观看 | 黄色av.com| 国产午夜精品在线 | 午夜av男人的天堂 | 亚洲第一男人天堂 | 美女视频黄视大全视频免费网址 | 2019中文字幕在线播放 | 国产羞羞网站 | 欧美成人高清视频 | 久久毛片| 56av国产精品久久久久久久 | 精品国产一区二区三区免费 | 亚洲欧美日韩在线 | 欧洲精品色 | 久久精品在线免费观看 | 九九热在线视频观看 | 国产亚洲欧美视频 | 亚洲少妇诱惑 | 精品国产一区二区三区四区阿崩 | xxxxhdhdhdhd日本| 在线观看免费污视频 | 久久91精品| 国产精品91在线 | 日韩大片在线永久观看视频网站免费 | 国产精品久久国产精麻豆96堂 | 99精品在线观看 | 欧美黑人伦理 | 黄色大片免费网站 | 久久人人97超碰国产公开结果 | 成人午夜视屏 | 亚洲第一成人av | 中文字幕 欧美 日韩 | 成人精品免费看 | 成年免费在线视频 | 91成人亚洲| 黄色99视频| 99最新网址 | 成人福利网| 久久影城|