<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    幸せのちから

    平凡的世界
    看似平常實崎嶇
    成如容易卻艱辛

    Struts的html:checkBox標簽超郁悶的問題

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

    1)需求:

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

    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沒有任何區別,這樣做的結果是你從菜單進入頁面時checkbox是處于不被選中的狀態。
    ?? 他們之間存在著矛盾,問題的關鍵就是每次提交時,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-14 01:03 Lucky 閱讀(20121) 評論(15)  編輯  收藏 所屬分類: java

    評論

    # re: Struts的html:checkBox標簽超郁悶的問題 2006-04-14 11:48 webjlwang

    <html:checkbox property="syaken" value="true"/>
    就行了  回復  更多評論   

    # re: Struts的html:checkBox標簽超郁悶的問題 2006-04-14 12:54 xplucky

    @webjlwang
    我試著按你提供的方法測試,由于你沒有說form中對應的checkbox的property的初始值應該如何設置,所以我進行了兩組測試:
    1)將form中對應的checkbox的property的初始值設置為true
    結果: 從menu中進入JSP頁面,checkbox處于選中狀態,當我取消chekbox的提交,然后提交,返回頁面時我取消的checkbox仍然處于選中狀態,測試失敗
    2)將form中對應的checkbox的property的初始值設置為false
    結果: 從menu中進入JSP頁面,checkbox處于未選中狀態,測試失敗

    我不清楚你是不是還進行了其他的設置?  回復  更多評論   

    # re: Struts的html:checkBox標簽超郁悶的問題 2006-04-17 11:22 南一郎

    如果你是采取struts的MVC模式,解決方法更為簡單,邏輯也更為清晰。Jsp->ActionForm->Action。Form里有對應的屬性sysken,你可以按你的需要在這個類里預設屬性的默認值。在Action里面,你取得這個Form后,可以顯式地用set方法設置返回到頁面時這個屬性的值,然后能過request.setAttribute("FormName",form)類似的方法設置一下,再return到你所指向的Forward不就行了嗎。就這么簡單。這樣做更符合MVC的思想。
      回復  更多評論   

    # re: Struts的html:checkBox標簽超郁悶的問題 2006-04-17 12:01 xplucky

    @南一郎
    不知道你做過實驗沒有?  回復  更多評論   

    # re: Struts的html:checkBox標簽超郁悶的問題 2006-05-19 13:32 LJS

    在ACTIONFORM要加reset方法就可以了.再測試看看  回復  更多評論   

    # re: Struts的html:checkBox標簽超郁悶的問題 2006-05-31 11:28 pc

    http://www.kpwang.com/jsp_java/200644165429.htm Java程序中的事件處理
    http://www.kpwang.com/jsp_java/20064416536.htm Java多線程設計模式
    http://www.kpwang.com/jsp_java/200644155359.htm Java程序如何穿透帶有密碼驗證的代理  回復  更多評論   

    # re: Struts的html:checkBox標簽超郁悶的問題 2006-09-09 01:46 上官鴻

    <input type="checkbox" name="usrId" value="<bean:write name="pUsrList" property="usrId"/>" />
      回復  更多評論   

    # re: Struts的html:checkBox標簽超郁悶的問題 2006-09-21 16:22 布袋魚

    我的做法和南一郎一樣。
    在頁面顯示前,后臺先把form值設定好
    比如
    后臺:
    ModuleActionForm form = (ModuleActionForm) actionForm;
    form.setTbModule(new TbModule());
    form.setModuleClass_show("1");
    form.setModuleShow_show("1");
    return actionMapping.findForward("add");

    add找到config的頁面是這樣顯示
    <td align="right" class="TableLine2">模塊參數:</td>
    <td class="TableLine1">
    <html:checkbox property="moduleClass_show" value = "1" />
    &nbsp;通用&nbsp;
    <html:checkbox property="moduleShow_show" value = "1" />
    &nbsp;顯示&nbsp;
    <html:checkbox property="moduleDisable_show" value = "1" />
    &nbsp;不可用&nbsp;
    <html:checkbox property="moduleCommon_show" value = "1" />
    &nbsp;常用模塊&nbsp; <font color="red">*</font>
    </td>  回復  更多評論   

    # re: Struts的html:checkBox標簽超郁悶的問題 2006-09-21 16:22 布袋魚

    這樣前2項默認選中
    后兩項非選中  回復  更多評論   

    # re: Struts的html:checkBox標簽超郁悶的問題 2006-12-05 12:23 chen[匿名]

    非常感謝  回復  更多評論   

    # re: Struts的html:checkBox標簽超郁悶的問題 2007-03-26 18:39 wellwei

    3Q  回復  更多評論   

    # re: Struts的html:checkBox標簽超郁悶的問題[未登錄] 2007-03-31 10:01 gavin

    3q  回復  更多評論   

    # re: Struts的html:checkBox標簽超郁悶的問題[未登錄] 2007-12-12 13:53 bobo

    value可以取出其值.
      回復  更多評論   

    # re: Struts的html:checkBox標簽超郁悶的問題 2008-08-16 14:33 lutsao

    我暈...還真行..耶..  回復  更多評論   

    # re: Struts的html:checkBox標簽超郁悶的問題[未登錄] 2009-03-23 23:34 null

    我試了。。好用

    支持樓主  回復  更多評論   

    <2006年4月>
    2627282930311
    2345678
    9101112131415
    16171819202122
    23242526272829
    30123456

    導航

    隨筆分類(125)

    文章分類(5)

    日本語

    搜索

    積分與排名

    最新隨筆

    最新評論

    主站蜘蛛池模板: 免费一级毛片在级播放| 国产小视频在线观看免费| 亚洲乱码中文字幕综合| 国产免费牲交视频免费播放 | 一级做a爱过程免费视| 亚洲成av人片一区二区三区| 国产精品亚洲综合一区在线观看| 日韩免费a级在线观看| 色视频在线观看免费| 亚洲国产精品日韩| 爽爽爽爽爽爽爽成人免费观看| 久久亚洲AV永久无码精品| 91精品全国免费观看青青| 亚洲国产女人aaa毛片在线| 精品久久8x国产免费观看| 亚洲日韩国产AV无码无码精品| 午夜无遮挡羞羞漫画免费| 黄网站色视频免费看无下截| 国产亚洲精品不卡在线| 久久w5ww成w人免费| 亚洲日韩看片无码电影| 亚洲精品视频久久久| 日本不卡免费新一区二区三区| 亚洲人成网网址在线看| 日韩视频在线免费观看| 好吊色永久免费视频大全| 久久精品国产亚洲av麻豆色欲| 西西大胆无码视频免费| 一级特黄aaa大片免费看| 亚洲国产综合专区在线电影| 免费人成视频在线| 巨胸喷奶水www永久免费| 亚洲国产成人久久| 亚洲国产精品尤物yw在线 | 亚洲色成人网站WWW永久四虎| 四虎1515hm免费国产| 久久久久成人片免费观看蜜芽| 亚洲日韩国产欧美一区二区三区| 在线亚洲97se亚洲综合在线| 亚洲人成电影网站免费| 亚欧国产一级在线免费|