Foreach(spring)在JSP中不起作用

时间:2013-05-10 12:32:09

标签: jsp

我尝试做一些简单的事情,但它不起作用。我是否会错过一些明显的东西?

我的jsp:

<c:if test="${not empty listeApp}">
<table border = "1">
    <c:forEach var="apps" items="${listeApp}" >
        <tr>
            <td>${apps.ID_APPLICATION}</td>
            <td>${apps.ID_APPLICATION}</td>

        </tr>
    </c:forEach>
</table>

我的控制员:

public ModelAndView portail() {

        applicationDao appDAO = new applicationJPADaoImpl();
        return new ModelAndView("portail", "listeApp", appDAO.listeAll());

}

没有显示任何内容。

${listeApp[0].ID_APPLICATION}有效。

我的清单很好,我在没有任何问题的情况下将它打印在sysout中。 我可以获得长度${fn:length(listeApp)},但我想使用Foreach功能:)

有什么建议吗? 感谢

2 个答案:

答案 0 :(得分:5)

我找到了解决方案: 在JSP中包含这个

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

我觉得自己像个白痴:)

答案 1 :(得分:1)

在测试项目中,我做了以下内容:

控制器代码:

@RequestMapping(value = "{id}", method = RequestMethod.GET)
public String getView(@PathVariable Long id, Model model) {
    List<Menu> menus = menuService.findAllMenus();

    model.addAttribute("menus", menus);

    return "menu/view";
}

JSP代码:

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

<html>
   <head>
     <title>Title in Work!</title>
   </head>
   <body>
     <table style="align:center;">
       <th>Name</th>
       <th>Price</th>
       <th>Restaurant</th>
       <c:forEach items="${menus}" var="menu">
         <tr>
            <td><c:out value="${menu.name}"/></td>
            <td><c:out value="${menu.price}"/></td>
            <td><c:out value="${menu.restaurant.name}"/></td>
        </tr>
    </c:forEach>
</table>

修改

为完成起见:

  1. 确保在JSP页面中导入jstl
  2. 确保jstl jar位于类路径
  3. 确保JSP中使用的名称与控制器中使用的名称相同
  4. 成功。希望它能帮到你!