对于表达式语言

时间:2017-10-10 09:35:31

标签: java html jsp el

我想打印出我列表中的每个项目"排序"在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循环工作?我做错了什么?

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分: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>

以下是Sample Java Code

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库。