JAVA牛棚

          我們愛JAVA

          常用鏈接

          統(tǒng)計

          群友的BLOG

          最新評論

          關(guān)于標(biāo)簽在URI后面?zhèn)鲄?shù)的問題

          發(fā)布人:小菜鳥

          關(guān)于標(biāo)簽在URI后面?zhèn)鲄?shù)的問題
              用了一年多的struts了,對于一些常用的標(biāo)簽還是比較熟悉的。將在今后慢慢做一些總結(jié),把自己的一些經(jīng)驗和大家分享,也以此拋磚引玉,希望能得到大家的高明見解。說的不對的地方請大家指正!
          在struts標(biāo)簽的page屬性指定的URI后面?zhèn)鬟f參數(shù)可以有幾種方式:

          1.若明確參數(shù)名和參數(shù)值則直接在URI后輸出,
          如:add

          2.對于參數(shù)值不確定的,paramName和paramProperty來輸出,用paramId屬性指定參數(shù)名。
          對于paramName指定的對象應(yīng)該存在于page、request、session、application其中之一。一般來說,是從Action類傳過來的,作為request的屬性之一(requst.setAttribute("name",object))。
          如果paramName指定的對象是action的ActionForm,則無需使用request.setAttribute方法。
          例:uname
          若參數(shù)值是一個bean對象的屬性值(比如ActionForm,或者集合中存放的對象)則:
          uname

          3.若兩個參數(shù),一個確定一個不確定,則是以上兩種方法的結(jié)合,即:
          modify

          4.對于多個參數(shù)的問題,可以使用一個HashMap集合對象來存放所有的參數(shù)名及對應(yīng)的參數(shù)值的方式,paramName屬性值指定為該HashMap集合對象即可。
          舉例:
          <%
          //代碼理想的位置應(yīng)該是在action中
          //可以在jsp頁面測試
          ? java.util.HashMap pms = new java.util.HashMap();
          ? pms.put("code", "001002");
          ? pms.put("name", "tester");
          ? pms.put("alias", new String[]{"matin","jack"});
          ? request.setAttribute("params", pms);
          %>
          test
          編譯后的結(jié)果:test
          這種方式雖然可以解決傳多參數(shù)的問題,但是實現(xiàn)起來也比較麻煩,特別是對記錄集中的數(shù)據(jù)逐條列出的時候

          5.針對有的網(wǎng)友在標(biāo)簽中嵌入使用jsp腳本(scriptlet)的問題,
          例如:
          add,這種寫法是錯誤的,是無法編譯的。
          有的網(wǎng)友認(rèn)為在struts標(biāo)簽內(nèi)是不允許使用jsp腳本的,這種說法也不準(zhǔn)確。如果前面的寫法改成:
          add,就可以被執(zhí)行,但是要注意URL相對路徑的問題。

          雖然在struts標(biāo)簽中嵌入jsp腳本不是真正意義上的struts應(yīng)用,但是有時在委曲求全的情況下也只能如此了,除非使用自定義標(biāo)簽。比如在form表單中可能需要根據(jù)具體數(shù)據(jù)讓某個字段是只讀的,就可以用嵌入jsp腳本來實現(xiàn):
          <%
          boolean rdonly=false;
          if(2==2) rdonly=true;
          %>

          (題外話,呵呵)

          6.另外一種比較變態(tài)的方法,既不是真正意義上的struts,也不符合xml規(guī)范。那就是在標(biāo)簽中用標(biāo)簽輸出參數(shù)值。
          如:
          &name=">test
          (偶經(jīng)常這樣用,哈哈,簡單!)

          先說這么多吧,有更好的方法再來補充!

           

          posted on 2005-10-24 14:24 JAVA牛棚 閱讀(1187) 評論(0)  編輯  收藏 所屬分類: 基礎(chǔ)知識區(qū)

          主站蜘蛛池模板: 洪泽县| 通辽市| 曲靖市| 磐石市| 长治市| 嘉禾县| 忻州市| 江川县| 苏尼特右旗| 微博| 石景山区| 瑞昌市| 泰州市| 夏津县| 余姚市| 大庆市| 北川| 宁明县| 安阳市| 交口县| 日喀则市| 锦屏县| 永嘉县| 永济市| 洛隆县| 夏邑县| 乌恰县| 陆丰市| 文化| 界首市| 扎囊县| 昆山市| 新龙县| 井陉县| 沂南县| 遂溪县| 马龙县| 湟中县| 西宁市| 沁水县| 石家庄市|