2

我想遍历作为 User 对象的成员变量的 List。我不想使用代码片段,而是想使用某种形式的 jsp 标签来解决问题。

用户类

public class User {

  private List<Option> options;

  public getOptions()...
}

我想在片段中做什么

<%
User user = (User)session.getAttribute("user");
List<Option> options = user.getOptions();
%>

<select id="alertFilter">

<% for (Option o : options) { %>

<option><%=o.getTitle()%></option>

<% } %>

</select>

我已经看到了一些我正在尝试做的简单示例,但它们总是得到简单的对象。

标记库方式 - 不起作用

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

<jsp:useBean id="user" class="ie.openmobile.smsjobs.entity.User" scope="request"></jsp:useBean>

<c:forEach var="options" items="$user.options" >   <--incorrect references to alerts/getOptions()

<br>$options.title   <--incorrect syntax

</c:forEach>

谁能帮我吗?

4

1 回答 1

7

改成如下

<select id="alertFilter">

<c:forEach var="option" items="${user.options}" >
  <option><c:out value="${option.title}"/></option>
</c:forEach>

</select>

解释:${user.options} 将使用其getOptions()方法从会话和选项集合中获取用户,并将迭代每个条目

虽然在迭代下${option.title}会给出option(这是遍历下的当前选项实例)和option.getTile()

于 2012-07-05T10:29:32.143 回答