<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處于被選中狀態(tài),頁面提交后forward回本頁,對應(yīng)的checkbox保持提交時的狀態(tài),也就是說:如果提交時checkbox是選中狀態(tài)回來仍然是選中狀態(tài);如果用戶在提交前將checkbox的勾去掉,回來時checkbox應(yīng)該為為選中狀態(tài)。

    2)問題:

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

    3)解決辦法:

    ???? 超級簡單,在checkbox后面添加一個和checkbox的屬性同名并且value為“false”的隱藏輸入框,強迫Struts去重新設(shè)置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中對應(yīng)的checkbox的property的初始值應(yīng)該如何設(shè)置,所以我進行了兩組測試:
    1)將form中對應(yīng)的checkbox的property的初始值設(shè)置為true
    結(jié)果: 從menu中進入JSP頁面,checkbox處于選中狀態(tài),當我取消chekbox的提交,然后提交,返回頁面時我取消的checkbox仍然處于選中狀態(tài),測試失敗
    2)將form中對應(yīng)的checkbox的property的初始值設(shè)置為false
    結(jié)果: 從menu中進入JSP頁面,checkbox處于未選中狀態(tài),測試失敗

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

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

    如果你是采取struts的MVC模式,解決方法更為簡單,邏輯也更為清晰。Jsp->ActionForm->Action。Form里有對應(yīng)的屬性sysken,你可以按你的需要在這個類里預設(shè)屬性的默認值。在Action里面,你取得這個Form后,可以顯式地用set方法設(shè)置返回到頁面時這個屬性的值,然后能過request.setAttribute("FormName",form)類似的方法設(shè)置一下,再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多線程設(shè)計模式
    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值設(shè)定好
    比如
    后臺:
    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">模塊參數(shù):</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)

    日本語

    搜索

    積分與排名

    最新隨筆

    最新評論

    主站蜘蛛池模板: 99视频免费播放| 日韩免费无码一区二区三区| 成年性羞羞视频免费观看无限| 亚洲色图在线播放| 好紧我太爽了视频免费国产| 亚洲精品国产品国语在线| a毛片在线还看免费网站| 亚洲色偷偷偷鲁综合| 国产又黄又爽又大的免费视频| 国产91精品一区二区麻豆亚洲 | 中文字幕久无码免费久久 | 夜夜春亚洲嫩草影院| 狠狠躁狠狠爱免费视频无码| 丁香五月亚洲综合深深爱| 精品一卡2卡三卡4卡免费视频| 亚洲av无码潮喷在线观看| 91大神免费观看| 亚洲高清乱码午夜电影网| 四虎免费永久在线播放| 岛国岛国免费V片在线观看| 亚洲人成电影在线天堂| 人禽杂交18禁网站免费| 日韩色日韩视频亚洲网站 | 亚洲高清资源在线观看| 在线a级毛片免费视频| 边摸边脱吃奶边高潮视频免费| 综合亚洲伊人午夜网| 18女人水真多免费高清毛片| 亚洲最大天堂无码精品区| xvideos亚洲永久网址| 日韩免费电影网站| 波多野结衣亚洲一级| 国产精品亚洲二区在线观看| 99热这里只有精品6免费| 亚洲精品无码久久久久久| 国产亚洲午夜高清国产拍精品| 88av免费观看入口在线| 国产精品亚洲精品日韩动图| 国产亚洲无线码一区二区| 成年男女男精品免费视频网站| 久久99精品免费一区二区|