Ⅰ jsp中c標簽foreach的使用
FOREACH標簽部分.
首先確認MAP中有沒有取得數據.
<c:forEach [var="varName"] items="" [varStatus="varStatusName"]
FOREACH標簽含義: items存放被迭代的集合對象,var用來存放現在指到的成員。
3. var元素輸出的參數需要與MAP中存放的參數對應,(通常用一個JAVABEAN對像封裝放在LIST等集合對像中).案例中的,NAME等值是否在JAVABEAN中存在.如果存在,EL表達式寫法為: ${entry.name}即可直接輸入,其他值也是一樣.
IF標簽部分.
EL表達式有自己的判斷方式,無法直接用==,!=,>=,<=直接判斷.
如果要判斷封裝對像是否為空.請用empty關鍵字....
以下是IF標簽與FOREACH綜合用法的示例:
<!-- 如果集合中不為空,輸出數據! --><c:if test="${!empty adminlist}"> <c:forEach items="${adminlist}" var="list"> <tr> <td>${list.id}</td> <td>${list.name}</td> <td>${list.pwd}</td> </tr> </c:forEach> </c:if><!-- 如果集合中為空,直接在HTML中輸出提示! --> <c:if test="${empty adminlist}"> 未能找到數據! </c:if>
為了能更好的顯示出FOREACH的效果.通常先用choose標簽進行判斷,以下是JSP頁面中的完整標簽片段示例:(IF標簽不再舉例.)
<table cellpadding="5" cellspacing="1" border="0" width="100%" align="center"> <tr align="center"> <td>ID</td> <td>用戶帳號</td> <td>用戶密碼</td> <td colspan="2">管理</td> </tr> <c:choose> <c:when test="${!empty userlist}"> <c:forEach items="${userlist}" var="list"> <tr> <td>${list.id}</td> <td>${list.name}</td> <td>${list.pwd}</td> <td> <a href="UserEdit.jspx?action=update&id=${list.id}">編緝</a> </td> <td> <div onClick="return del();"> <a href="UserEdit.jspx?action=delete&id=${list.id}">刪除</a> </div> </td> </tr> </c:forEach> </c:when> <c:otherwise> <tr> <td colspan="5">未能找到符合條件的數據!</td> </tr> </c:otherwise> </c:choose></table>
Ⅱ JSP 中 JSTL<c:forEach 標簽的用法
<c:forEach>標簽的作用就是迭代輸出標簽內部的內容。它既可以進行固定次數的迭代輸出,也可以依據集合中對象的個數來決定迭代的次數。
<c:forEach>標簽,需要與el表達式聯合使用
<c:forEach>標簽的語法定義如下所示。
<c:forEach var="每個變數名字" items="要迭代的list" varStatus="每個對象的狀態"
begin="循環從哪兒開始" end="循環到哪兒結束" step="循環的步長">
循環要輸出的東西
</c:forEach>
<c:forEach>標簽具有以下一些屬性:
var:迭代參數的名稱。在迭代體中可以使用的變數的名稱,用來表示每一個迭代變數。類型為String。
items:要進行迭代的集合。對於它所支持的類型將在下面進行講解。
varStatus:迭代變數的名稱,用來表示迭代的狀態,可以訪問到迭代自身的信息。
begin:如果指定了items,那麼迭代就從items[begin]開始進行迭代;如果沒有指定items,那麼就從begin開始迭代。它的類型為整數。
end:如果指定了items,那麼就在items[end]結束迭代;如果沒有指定items,那麼就在end結束迭代。它的類型也為整數。
step:迭代的步長。
<c:forEach>標簽的items屬性支持Java平台所提供的所有標准集合類型。此外,您可以使用該操作來迭代數組(包括基本類型數組)中的元素。
Ⅲ jsp頁面怎麼判斷foreach循環了幾次,或者說怎麼判斷list循環到下標幾
代碼:<c:forEach items="listTest" var="test" varStatus="index"></c:forEach>
在頁面上輸出的值,最後一個就是循環的次數了。
如果要知道當前的值是第幾次循環的結果,那麼可以在頁面上加一列序號,把index顯示出來。
Ⅳ jsp標簽 <c:forEach>我怎麼遍歷不了哦
你在<%
ArrayList<board> alboard=boarde.selectBoard(0);
%>這一段代碼中加入一句 將alboard對象放入作用域內內
c:foreach是讀取容作用域中的內容
<%
ArrayList<board> alboard=boarde.selectBoard(0);
request.setAttribute("alboard",alboard);//放入request作用域也可以放入session 或 application
%>
Ⅳ jquery從後台取得list,怎麼遍歷出來(foreach顯示到頁面上也就是相當於在jsp頁面用foreach顯示出來)
在使用jQuery從後台獲取列表數據時,可以先通過for循環獲取到數組的數量和內容。假設你的數據存儲在一個名為data的變數中,你可以這樣操作:
首先,定義一個空數組用於存儲從data中提取的數據:
var list_name = [];
接著,使用for循環遍歷data中的每一個元素,並將它們添加到list_name數組中:
for (var i in data) {
list_name.push(i);
}
獲取到list_name數組後,你可以使用另一個for循環來遍歷這個數組,根據需要將數據添加到頁面上。例如,你可能希望將這些數據添加到某個HTML元素中,可以這樣寫:
for (var a = 0; a < list_name.length; a++) {
document.getElementById("targetElement").innerHTML += "a" + list_name[a] + "
";
}
這里,「targetElement」是你希望將數據添加到的HTML元素的ID。這段代碼會將list_name數組中的每一個元素添加到這個元素中,並在每個元素前加上「a」作為前綴。
以上方法可以讓你從後台獲取的列表數據在頁面上以foreach循環的方式顯示,類似於在JSP頁面中使用foreach標簽的效果。
需要注意的是,這里使用了document.getElementById()方法來獲取HTML元素,如果你使用的是jQuery,可以使用$(「#targetElement」)來代替。
通過這種方式,你可以靈活地處理和顯示從後台獲取的數據,使頁面內容更加豐富和動態。
在實際應用中,你可能還需要考慮如何處理數據的格式化、樣式以及錯誤處理等問題,確保頁面顯示的內容既美觀又可靠。
此外,對於大型數據集,你可能需要考慮性能優化問題,避免在頁面載入時進行大量的DOM操作,可以考慮分批載入數據或者使用虛擬滾動技術。
總之,通過上述方法,你可以實現從後台獲取數據並在頁面上以foreach循環顯示的效果,為用戶提供更好的交互體驗。
Ⅵ Map,List如何在jsp里遍歷。js如何遍歷這兩種集合。foreach .each
<script>
var d = new dtree('d');
<%
int size = list2.size();
for(int i=0;i<size;i++){%>
d.add(<%=list2.get(i).getId()%>,<%=list2.get(i).getparentId()%>,'<%=list2.get(i).getUrl()%>');
<% }%>
</script>
Ⅶ <c:if> <c:forEach>標簽在jsp里起不了作用了
FOREACH標簽部分.
首先確認中有沒有取得數據.
<c:forEach [var="varName"] items="" [varStatus="varStatusName"]
FOREACH標簽含義:items存放被迭代的集合對象,var用來存放現在指到的成員。
3. var元素輸出的參數需要與MAP中存放的參數對應,(通常用一個JAVABEAN對像封裝放在LIST等集合對像中).案例中的,NAME等值是否在JAVABEAN中存在.如果存在,EL表達式寫法為: ${entry.name}即可直接輸入,其他值也是一樣.
IF標簽部分.
EL表達式有自己的判斷方式,無法直接用==,!=,>=,<=直接判斷.
如果要判斷封裝對像是否為空.請用empty關鍵字....
以下是IF標簽與FOREACH綜合用法的示例:
<!--如果集合中不為空,輸出數據!-->
<c:iftest="${!emptyadminlist}">
<c:forEachitems="${adminlist}"var="list">
<tr>
<td>${list.id}</td>
<td>${list.name}</td>
<td>${list.pwd}</td>
</tr>
</c:forEach>
</c:if>
<!--如果集合中為空,直接在HTML中輸出提示!-->
<c:iftest="${emptyadminlist}">
未能找到數據!
</c:if>
為了能更好的顯示出FOREACH的效果.通常先用choose標簽進行判斷,以下是JSP頁面中的完整標簽片段示例:(IF標簽不再舉例.)
<tablecellpadding="5"cellspacing="1"border="0"width="100%"align="center">
<tralign="center">
<td>ID</td>
<td>用戶帳號</td>
<td>用戶密碼</td>
<tdcolspan="2">管理</td>
</tr>
<c:choose>
<c:whentest="${!emptyuserlist}">
<c:forEachitems="${userlist}"var="list">
<tr>
<td>${list.id}</td>
<td>${list.name}</td>
<td>${list.pwd}</td>
<td>
<ahref="UserEdit.jspx?action=update&id=${list.id}">編緝</a>
</td>
<td>
<divonClick="returndel();">
<ahref="UserEdit.jspx?action=delete&id=${list.id}">刪除</a>
</div>
</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr>
<tdcolspan="5">未能找到符合條件的數據!</td>
</tr>
</c:otherwise>
</c:choose>
</table>
Ⅷ 求解答:<c:forEach>遍歷出數組內容,jsp顯示的時候是每四個一換行
<c:forEach>還有個復varStatus屬性。varStatus.index就是制在遍歷裡面得到當前行數。
<c:forEachvar=""items=""varStatus="status">
<c:iftest="${status.index%4==0}">
<br/><!--是表格就加個<tr></tr>-->
</c:if>
</c:forEach>