<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 閱讀(20123) 評論(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级片在线免费看| 亚洲人成在线电影| 免费高清在线爱做视频| 日本高清免费观看| 无码的免费不卡毛片视频| 亚洲色欲色欱wwW在线| 亚洲人成影院在线| 国产亚洲精品a在线观看| 在线观看免费为成年视频| 国产精品免费无遮挡无码永久视频| 精品在线免费视频| 亚洲一本到无码av中文字幕 | 亚洲丁香婷婷综合久久| 亚洲videos| 亚洲综合无码一区二区| 狠狠色伊人亚洲综合成人| 亚洲av午夜精品一区二区三区| 女人18毛片a级毛片免费| 成年在线网站免费观看无广告 | 国产亚洲精品不卡在线| 亚洲av日韩av欧v在线天堂| 最近2019中文字幕mv免费看| 16女性下面扒开无遮挡免费| 今天免费中文字幕视频| 国产又黄又爽又大的免费视频| 青青久久精品国产免费看| 黄色免费在线观看网址| 免费观看亚洲人成网站| 亚洲aⅴ天堂av天堂无码麻豆| 亚洲色偷精品一区二区三区| 亚洲一区二区观看播放| 亚洲精品无码日韩国产不卡av| 久久久久亚洲国产| 亚洲人成电影网站色www| 亚洲女女女同性video| 亚洲AV成人无码网站| jzzijzzij在线观看亚洲熟妇| 日韩色视频一区二区三区亚洲 | 又粗又大又猛又爽免费视频 | 日日躁狠狠躁狠狠爱免费视频|