struts2中 的用法詳解


Html代碼

  1. 選擇角色<br>  
  2. <s:checkboxlist list="#request.roleuserList" listKey="roleId" listValue="roleName" value="#request.rolelist.{roleId}" name="roleIds"></s:checkboxlist>  

 

說明:

其中#request.roleuserList對應后台放入request作用域的roleuserList這個list;

listKey="roleId" 

 這里的roleId對應后台roleuserList中role這個bean的屬性roleId,listKey也是將要傳入后台的值;

listValue="roleName" 自然是顯示在頁面上的內容了;

value="#request.rolelist.{roleId}" 

 這句話的意思是,給s:checkboxlist選取默認值,將對應后台放入request作用域的rolelist這個list中的roleid組合成數組,

類似{1,2,3}這種,然后標簽會自動匹配。

name="roleIds“ 這個roleIds可以在后台action中使用get set一個roleIds數組屬性來取值,或者直接用request作用域取值,都要放數組中;

 

 

 

struts2的s:checkboxlist 

 

struts2里增加了一個新的UT標簽s:checkboxlist,下面介紹下使用方法。
s:checkboxlist用於畫面上顯示一組復選框,缺省是橫排輸出,后面將介紹如何修改ftl文件使得它能按任意方式輸出。
標簽格式:
    <s:checkboxlist name="" list="" listKey="" listValue="" value="" />
    name-定義標簽名,用於接收畫面上選中的復選框,故應與Action里定義的屬性一致,且多為數組;
    list-定義集合變量,用於輸出復選框到畫面上,一般在Action里定義一個List或Map屬性;
    listKey-如果在Action里定義的是一個List,則往往會在List里定義一個Bean,它只有兩個屬性,其中一個(比如id)就在這里設置;
                如果在Action里定義的是一個Map,則Map的key就在這里設置;
    listValue-如果在Action里定義的是一個List,則往往會在List里定義一個Bean,它只有兩個屬性,另外一個(比如name)就在這里設置;
                  如果在Action里定義的是一個Map,則Map的value就在這里設置;
    value-用於回顯畫面上被選中的復選框,假如畫面有輸入檢查,如果有錯則返回原畫面並顯示出錯信息,這時候就需要使用它。
              一般把它設成和name一致就可以了。
注意點:
    為了能正確顯示已被選中的復選框,一定要使得name的數組類型與listKey的類型一致。
    比如,name設成String[] users,則listKey就要設成String id;如果name設成Integer[] users,則listKey就要設成Integer id;
修改ftl文件改變輸出方式:
    1.搜索struts2-core-xxx.jar,找到checkboxlist.ftl文件,拷貝出來;
    2.在自己的工程的src下新建template.simple包,放置上述文件;
    3.用文本編輯器打開該文件,修改成自己希望輸出的格式,保存,OK;

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM