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

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

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

    隨筆 - 119  文章 - 3173  trackbacks - 0
    <2010年12月>
    2829301234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    交友莫獨酒,茅臺西鳳游。
    口干古井貢,心徜洋河流。
    稱多情杜康,趟無量雙溝。
    贊中華巍巍,無此不銷愁。

    常用鏈接

    留言簿(68)

    隨筆分類(136)

    隨筆檔案(122)

    最新隨筆

    搜索

    •  

    積分與排名

    • 積分 - 525023
    • 排名 - 93

    最新評論

    用struts2的標簽checkboxlist可以很方便的用生成checkbox組,但是讓其默認選中指定checkbox卻是非常麻煩. 

    之前有2種方案: 
    第一種是修改struts2 tag的源代碼. 
    比如http://jolestar.javaeye.com/blog/160360 
    第二種就是徹底妥協,在action里面把list bean轉成數組,賦給checkboxlist的value屬性. 

    這兩種solution都不是那么優雅,作為一個有房貸沒希望的IT民工我不禁問自己: 
    怎么能對自己的要求這么低呢? 怎么能應付了事呢? 

    翻文檔,研究了下ognl的語法,終于讓我找到了一種方便的寫法. 


    JavaBean 
    1. public class Operate extends BaseBean {  
    2.     private long id;  
    3.     private String name;  
    4. }  


    Action中初始化allOpList和myOpList. 
    1. private List<Operate> myOpList;  
    2. private List<Operate> allOpList;  


    前臺jsp用strtus2標簽生成checkboxlist 
    1. <s:checkboxlist name="myOpList.id" list="allOpList" listValue="name"  listKey="id"   
    2. value="myOpList.{#this.id}"/>  



    checkboxlist標簽用allOpList的內容生成checkbox, 并且用myOpList的值選中默認. 
    并且當頁面提交的時候,又能自動把checkbox的選中情況,賦給myOpList.Operate.id屬性. 

    這樣從后到前到再到后,全都是用list bean去完成,用法統一,不要轉換,全部操作的是bean而不是數組. 


    精華在于myOpList.{#this.id}這個ognl表達式,自動生成[4, 11]這種格式的數組. 


    引申一下,ognl的語法強大到可以myOpList.{?#this.enable > 0}來做過濾,看著有點Jquery的味道,非常好用. 

    有同志會說,這種過濾沒有什么意義,不如在后臺sql里面做. 
    假設一個應用場景: 
    全部用戶信息是放在cache里面的list,根據前一個頁面來過濾男女,然后顯示. 
    這時候這個過濾表達式就發揮作用了,不用您在后臺一個一個過濾重新組裝list了. 
    userInfoist.{?#this.sex > 0} 


    簡潔而優雅,這下能過自己這關了. 


    posted on 2010-12-02 14:09 交口稱贊 閱讀(4010) 評論(5)  編輯  收藏 所屬分類: struts

    FeedBack:
    # re: 原創小技巧解決list做strtus2標簽checkboxlist默認值無法選中的問 2010-12-02 14:50 何楊
    久違,兩年不見了。  回復  更多評論
      
    # re: 原創小技巧解決list做strtus2標簽checkboxlist默認值無法選中的問 2010-12-02 16:17 交口稱贊
    ......................
    低調  回復  更多評論
      
    # re: 原創小技巧解決list做strtus2標簽checkboxlist默認值無法選中的問[未登錄] 2010-12-02 17:47 GreatGhoul
    的確是一種比較爽的實現呀。  回復  更多評論
      
    # re: 原創小技巧解決list做strtus2標簽checkboxlist默認值無法選中的問 2010-12-03 09:32 交口稱贊
    必須的,批量初始化批量提交,結合我整的框架用起來愜意啊.  回復  更多評論
      
    # Air Retro Jordan 2010-12-03 16:23 Air Retro Jordan
    好好學習  回復  更多評論
      
    主站蜘蛛池模板: 色婷婷六月亚洲婷婷丁香| 亚洲色一色噜一噜噜噜| 亚洲国产精品国自产电影| 一区在线免费观看| 亚洲美女在线国产| 一级毛片一级毛片免费毛片| 亚洲国产激情一区二区三区| 免费国产草莓视频在线观看黄| 国产99视频精品免费视频7| 亚洲AV无码国产剧情| 在线免费观看韩国a视频| 黄人成a动漫片免费网站| 国产高清免费在线| 无套内谢孕妇毛片免费看看| 久久久久久A亚洲欧洲AV冫| 久久精品免费大片国产大片| 亚洲AV无码专区电影在线观看| 免费精品无码AV片在线观看| 亚洲国产夜色在线观看| 性盈盈影院免费视频观看在线一区| 亚洲国产欧美国产综合一区| 免费看男女下面日出水视频| 五月天婷婷精品免费视频| 久久亚洲综合色一区二区三区| 99久久免费精品高清特色大片| 亚洲中文无码a∨在线观看| 四虎免费大片aⅴ入口| 免费一区二区无码视频在线播放 | 黄 色一级 成 人网站免费| 亚洲色无码专区在线观看| 日韩在线不卡免费视频一区| 亚洲一级毛片免费在线观看| 国产精品免费一级在线观看| WWW免费视频在线观看播放| 亚洲高清中文字幕| 国产成人免费手机在线观看视频| 久久久久免费视频| 亚洲同性男gay网站在线观看| 无码欧精品亚洲日韩一区夜夜嗨| 久久青草国产免费观看| 亚洲一区二区观看播放|