4

I try to do something easy, but it's not working. Do i miss something obvious ?

my 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>

my controller :

public ModelAndView portail() {

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

}

Nothing is displayed.

${listeApp[0].ID_APPLICATION} works.

my list is good, i printed it in the sysout without any prob. i can get the lenght ${fn:length(listeApp)} but i would like to use the Foreach feature :)

Any advice ? Thanks

4

2 回答 2

5

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

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

我觉得自己像个白痴:)

于 2013-05-10T12:47:03.207 回答
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 中使用的名称与控制器中使用的名称相同

随着成功。希望对你有帮助!

于 2013-05-10T12:47:42.837 回答