上述语法中,c:forEach是一个JSP标签库中的标签,表示循环遍历给定的集合元素或数组元素。其中,items指定被遍历的集合,var指定当前遍历的元素名,可以在标签体内通过${item.name}的方式获取元素中的属性值。
在上述例子中,我们假设list是一个JavaBean组成的List,其中JavaBean中有name和age两个属性。
Key: ${entry.key}, value: ${entry.value}
使用forEach标签遍历HashMap会稍微有点不同,我们需要将HashMap赋值到pageContext域中,然后在标签内部通过${entry.key}、${entry.value}获取键和值。
${status.index}
${item.name}
${item.age}
varStatus属性可以获得当前遍历元素的一些统计信息。例如在上面的例子中,我们可以通过status.index获取当前遍历的下标,status.first表示是否是第一个元素,status.last则表示是否是最后一个元素。在标签体内,我们利用这些信息进行一些特定的操作。
在这个例子中,我们希望控制步长为3,输出arr数组中每三个元素。我们可以使用step属性来控制步长。
在这个例子中,我们的departments是一个List,每个元素都是一个JavaBean,JavaBean中有一个name属性表示部门名称,有一个manager属性表示部门经理名称,还有一个employees属性表示该部门下属员工列表。因此,我们需要使用嵌套的forEach标签进行遍历。外层的forEach标签遍历部门列表,内层的forEach标签遍历每个部门的员工列表。