foreach 元素的功能非常强大,它允许你指定一个集合,声明可以在元素体内使用的集合项(item)和索引(index)变量。它也允许你指定开头与结尾的字符串以及在迭代结果之间放置分隔符。这个元素是很智能的,因此它不会偶然地附加多余的分隔符。
注意:你可以将任何可迭代对象(如 List、Set 等)、Map 对象或者数组对象传递给 foreach 作为集合参数。当使用可迭代对象或者数组时,index 是当前迭代的次数,item 的值是本次迭代获取的元素。当使用 Map 对象(或者 Map.Entry 对象的集合)时,index 是键,item 是值。
属性 | 描述 |
---|---|
item | 循环体中的具体循环对象。支持属性的点路径访问,如item.age,item.info,item.sex。 具体说明:在list或数组中是其中的对象,在map中是value。该参数必选。 |
collection | 做foreach标签循环时的对象,作为入参时,List对象默认用“list”代替作为键,数组对象用“array”代替作为键,而Map对象没有默认的键。如果在入参时使用“@Param("keyName")”来设置键,设置keyName后,上述默认的“list”、“array”将会失效。该参数必选。 |
separator | 元素之间的分隔符,例如在应用到in('1','2','3')这种sql的时候,separator=“,”会自动在元素中间用“,”隔开,避免手动输入逗号导致的sql出错。该参数可选。 |
open | foreach标签代码开始的符号,一般和close连用,常用在in(),value()中,该参数可选。 |
close | foreach标签代码结束的符号,一般和open连用,常用在in(),value()中,该参数可选。 |
index | 在list和数组中,index是下标,在map中,index是key,item是value。该参数可选。 |