Dict.CN 在線詞典, 英語學習, 在線翻譯

          都市淘沙者

          荔枝FM Everyone can be host

          統(tǒng)計

          留言簿(23)

          積分與排名

          優(yōu)秀學習網站

          友情連接

          閱讀排行榜

          評論排行榜

          Struts的html:checkBox標簽問題

          ???? 被Struts的html:checkBox標簽使用的小問題郁悶了兩天,今天終于找到了解決的辦法。如果大家也遇到同樣的問題,可以參考。

          1)需求:

          ???? 當通過菜單進入頁面時,頁面中的checkbox處于被選中狀態(tài),頁面提交后forward回本頁,對應的checkbox保持提交時的狀態(tài),也就是說:如果提交時checkbox是選中狀態(tài)回來仍然是選中狀態(tài);如果用戶在提交前將checkbox的勾去掉,回來時checkbox應該為為選中狀態(tài)。

          2)問題:

          ???? 這個需求看起來很簡單,只需要
          ??? 1)在對應的form中將checkbox對應的屬性設為true就行了:
          ???????? private boolean syaken = true;
          ??? 2)在對應的jsp中使用html:checkbox標簽就行了
          ? ? ?? <html:checkbox property="syaken"/>
          ??? 但問題是checkbox標簽不會去set初始化值為true的checkbox屬性,不賦初值時Struts默認賦為false;
          ??? 從網上找資料有人說可以實現ActionFrom的reset()方法將對應的屬性值設為false,但reset方法是在form實例化以后被調用的,也就是說你初始化的值true將被重置為false,這和直接將屬性值設為false沒有任何區(qū)別,這樣做的結果是你從菜單進入頁面時checkbox是處于不被選中的狀態(tài)。
          ?? 他們之間存在著矛盾,問題的關鍵就是每次提交時,Struts并沒有去重新設置所有checkbox的屬性值,而是有選擇地(初始化值為false)地進行重新設置。

          3)解決辦法:

          ???? 超級簡單,在checkbox后面添加一個和checkbox的屬性同名并且value為“false”的隱藏輸入框,強迫Struts去重新設置checkbox的屬性值:
          ????? <html:checkbox property="syaken"/>&nbsp;
          ? ??? <input type="hidden" name="syaken" value="false">

          ???
          這個問題郁悶了我兩天,沒想到解決辦法這么簡單。

          posted on 2006-04-24 16:53 都市淘沙者 閱讀(1314) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網站導航:
           
          主站蜘蛛池模板: 彝良县| 达拉特旗| 启东市| 连平县| 巴青县| 吉安市| 迁西县| 嵊泗县| 富宁县| 包头市| 西充县| 景宁| 祁阳县| 兴义市| 稻城县| 崇信县| 敦化市| 临邑县| 尖扎县| 商南县| 班戈县| 治县。| 涪陵区| 石泉县| 宝兴县| 崇仁县| 乌海市| 禄丰县| 建德市| 寻甸| 上思县| 张北县| 遵义市| 无极县| 巫溪县| 黄平县| 台湾省| 文成县| 舒城县| 南丹县| 尼玛县|