上述語法中,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標簽遍歷每個部門的員工列表。