foreach屬性:
<foreach collection="list" open="(" close=")" separator="," item="id" index="i" >
#{id}
</foreach>
- collection : 必填,值為要選代循環的屬性名。這個屬性值的情況有很多。
- item:變量名,值為從法代對象中取出的每一個值。
- index :索引的屬性名,在集合數組情況下值為當前索引值 , 當選代循環的對象是 Map類型時,這個值為 Map 的 key (鍵值)。
- open:整個循環內容開頭的字符串 。
- close : 整個循環內容結尾的字符串。
- separator :每次循環的分隔符 。
collection的屬性設置方法 (list、array等):
1 . 只有一個數組參數或集合參數
當參數類型為集合的時候,默認會轉換為 Map 類型,井添加一個 key 為 collection的值,如果參數類型是 List 集合,那么就繼續添加一個 key 為 list的值。
這樣,當 collection=" list ”時, 就能得到這個集合,並對它進行循環操作。
當參數類型為數組的時候,也會轉換成 Map 類型,默認的 key 為 array。
使用數組參數時,就需要把 foreach 標簽中的 collection 屬性值設置為 array 。
上面提到的是數組或集合類型的參數默認的名字。推薦使用@ Par am 來指定參數的名字 ,這時 collection 就設置為通過@ Param 注解指定的名字。
2.多個參數
當有多個參數的時候,要使用@ Param 注解給每個參數指定一個名字,因此將 collection 設置為@ Param 注解指定的名字即可 。
3.參數是map
使用 Map 和使用@ Param 注解方式類似,將 collection 指定為對應 Map 中的 key 即可
4.參數是一個對象
這種情況下指定為對象的屬性名即可。當使用對象內多層嵌套的對象時,使用屬性.屬性(集合和數組可以使用下標取值)的方式可以指定深層的屬性值。