国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Turbine Howto 之 Action Event [譯]

2019-11-18 13:15:53
字體:
供稿:網(wǎng)友

  Turbine 有一個非常好的功能來幫助開發(fā)人員處理web耶面的提交數(shù)據(jù).為了理解這一功能,你需要知道Turbine是如何處理一次提交的.
  事實上,當(dāng)在一個URI中只要發(fā)現(xiàn)有action這個變量出現(xiàn),在執(zhí)行所有Screen類之前會執(zhí)行一個程序,我們來看下面這個例子(來自VelocitySite的Howto示例):
  
  對于URL"http: //www.server.com/servlet/Turbine/template/AddUser/action/NewUser",Turbine 會首先執(zhí)行一個名叫"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中這樣寫:
  
  <input type="submit" name="eventSubmit_doAdd" value="Add User">
  
  當(dāng)Action執(zhí)行的時候,將會收到一個"事件"來執(zhí)行Action類中的"doAdd()"方法.這樣處理最"酷"的就是你的每一種"action(操作,注:比如點擊一個提交按鈕等)"都可以對應(yīng)到Action類中一個特定的方法.
  
  這個新的功能并不意味著你應(yīng)該把所有的操作都寫到一個類里,而是假設(shè)有一個頁面里面有一些和這個頁面關(guān)西很緊密的操作,這時最好是把這些操作都寫到同一個類里.這樣可以幫助你方便的判定并處理具體哪個按鈕給點擊了,而不是用一些"if-else"來.
  
  假如判定不出哪個按鈕被點擊了(找不到一個合適的方法執(zhí)行),將會執(zhí)行doPerform()方法.
  
  因為ParameterParser把所有的"key"都變成了小寫,我們必須將提交的數(shù)據(jù)里得到一個合適的方法名,比如:一個按鈕名叫 eventSubmit_doDelete,提交的時候就變成了eventsubmit_dodelete,因此,我們需要通過一些命名規(guī)范來得到真正的方法名,轉(zhuǎn)換的規(guī)則是:
  * 變量名(如:提交按鈕)必需以"eventSubmit_"開頭
  * 變量名在這個前綴后必需是"do"
  * 在"do"之后的第一個字母必須是大寫并且其他都是小寫
  只要你遵循這些命名規(guī)范,在Action類中就能找到相應(yīng)的方法來執(zhí)行.
  
  (注:以上規(guī)則適合turbine2.1及以前的版本,在turbine2.2及以后的版本中 eventSubmit_doMySaveMethod也是一個合法的名子,因為在2.2以后的版本里,Parameterparser不會把"key" 都變成小寫,這一點在取得提交數(shù)據(jù)的時候也要注重的)
  
  在TurbineResources.javascript)提交的時候比較有用.

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 杂多县| 沅江市| 荥经县| 广安市| 武功县| 察隅县| 曲麻莱县| 合山市| 博客| 武川县| 新竹县| 新乐市| 山东| 东辽县| 郴州市| 长岭县| 揭阳市| 阳原县| 双峰县| 恩平市| 贵德县| 新巴尔虎左旗| 宜州市| 扎囊县| 同心县| 富宁县| 杂多县| 八宿县| 宝丰县| 交口县| 独山县| 马山县| 靖宇县| 惠州市| 安庆市| 吉首市| 东乌珠穆沁旗| 焦作市| 怀远县| 固阳县| 舟曲县|