簡體   English   中英

Jstl 迭代列表

[英]Jstl iterate over a List

我正在嘗試遍歷列表並嘗試將值打印為:

<jsp:useBean class="com.lftechnology.db.EmployeeDaoImpl" id="empImpl"></jsp:useBean>
<jsp:useBean class="com.lftechnology.employee.Employee" id="employee"></jsp:useBean>

<%
List<com.lftechnology.employee.Employee> empList = null; 
empList = empImpl.getAllEmployee();
out.println(empList.size());
%>


<c:forEach items="${empList}" var="element"> 
  <tr>
    <td>${element.name}</td>
    <td><c:out value="${element.name}" /></td>
     </tr>
</c:forEach>

但是,只打印列表的大小,而不是在 jstl 中定義的name 有什么幫助嗎? 我想打印employee對象的所有屬性。

為什么要使用scriptlet? 這樣的事情應該可以工作(我無法測試):

<jsp:useBean class="com.lftechnology.db.EmployeeDaoImpl" id="empImpl"></jsp:useBean>

<c:forEach items="${empImpl.allEmployee}" var="element"> 
  <tr>
    <td>${element.name}</td>
    <td><c:out value="${element.name}" /></td>
  </tr>
</c:forEach>

一些背景

僅在 scriptlet 中聲明變量不會自動使其可用於 JSTL 運行時。 事實上,JSTL 是在運行時由容器注入到每個 JSP 中的pageContext上工作的。 因此,如果您確實需要在 scriptlet 中聲明一個變量並想讓它對 JSTL 可用,則必須明確地執行以下操作:

<%
List<String> stuff = new ArrayList<String>();
request.setAttribute("mystuff", stuff);
%>

<c:out value="${mystuff" />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM