簡體   English   中英

對於使用表達語言的每個循環

[英]For each loop with Expression Language

我想用表達式語言在JSP文件中打印出列表“排序”的每個項目,如下所示:

Try: Pizza-Margherita
Try: Cheese-Pizza

所以如果我使用這樣的正則表達式就可以工作

Try: ${sorts[0]}
Try: ${sorts[1]}

但是我必須為列表中的每個項目寫

因此,我嘗試使用以下兩個循環:

<c:forEach items="${sorts}" var="item">
   Try: ${item}<br>
</c:forEach>


<c:forEach var="item" items="${sorts}">
    <td>
       Try: <c:out value="${item}" />
    </td>
</c:forEach>

它不起作用,我每次都得到以下輸出:

Try:

為什么我的foreach循環不起作用? 我做錯了什么?

這是因為您沒有在JSP文件中包含核心標記庫。 您可以通過在文件頂部插入以下行來實現。

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

這是示例JSP

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
   pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html lang="en">
   <head>
      <meta charset="utf-8">
   </head>
   <body>
      <c:forEach var="item" items="${sorts}">
         ${item.name}
      </c:forEach>
   </body>
</html>

這是示例Java代碼

List<Sort> sortList = new ArrayList<>();

Sort s1 = new Sort();
s1.setName("Pizza-Margherita");
Sort s2 = new Sort();
s2.setName("Cheese-Pizza");

sortList.add(s1);
sortList.add(s2);

request.setAttribute("sorts", sortList);

樣本對象類

public class Sort {
    private String name;
   //create getter and setter for name
}

確保已導入JSTL庫。

暫無
暫無

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

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