JSTL Foreach不工作

时间:2013-08-21 06:00:58

标签: java-ee jstl

我是Java EE的新手。我正在编写一些代码来打印jstl foreach中的用户列表。但它不起作用。它不打印任何东西 这是我的代码

<%
            ArrayList<User> list = new ArrayList<User>();
            User user = new User();
            user.setUsername("usman");
            user.setPassword("123");
            list.add(user);
        %>
        <c:forEach items="${list}" var="user">
            <c:out value="${user.username}"></c:out>
            <c:out value="${user.password}"></c:out>
        </c:forEach>

请帮助我!

2 个答案:

答案 0 :(得分:1)

添加到servlet:

request.setAttribute("list", list);

你不应该混合代码。

答案 1 :(得分:1)

您应该始终将业务逻辑放在中间层(可以是Servlet或Service类)。 JSTL应该只用于演示。因此,在您的情况下,将代码移动到您的Servlet并将结果列表设置为请求属性[正如Alex所说] -

ArrayList<User> list = new ArrayList<User>();
User user = new User();
user.setUsername("usman");
user.setPassword("123");
list.add(user);
request.setAttribute("list", list);

现在,您可以使用JSTL作为 -

访问JSP中的“list”
${list}