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

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

TurbineHowto之ActionEvent[譯]

2019-11-18 11:32:11
字體:
來源:轉載
供稿:網友

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陆河县| 纳雍县| 巨鹿县| 桦甸市| 秦安县| 石泉县| 凤阳县| 揭东县| 荥经县| 韶关市| 临汾市| 五华县| 水富县| 牡丹江市| 宜兰县| 偃师市| 大港区| 崇义县| 那坡县| 桃江县| 吴川市| 胶南市| 济阳县| 梅河口市| 彭阳县| 上蔡县| 偏关县| 长白| 确山县| 鲜城| 靖西县| 禄丰县| 东乡族自治县| 额济纳旗| 汨罗市| 山阳县| 永川市| 义马市| 双桥区| 绥棱县| 安康市|