2017-10-10 88 views
-1

我想打印出我的列表“排序”与表达式语言每一个项目在一个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循环的工作?我做错了什么?

+0

您是否尝试过使用? – P3trur0

+0

是的,同样问题 –

+0

请问你能提供一个完整的例子吗? – P3trur0

回答

1

这是因为您没有在JSP文件中包含核心标签库。 您将通过在文件顶部插入以下行来完成此操作。

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

下面是示例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库。