【问题标题】:Iterating through a List<CustomClass> in jsp (jsp:getProperty?)在 jsp 中迭代 List<CustomClass> (jsp:getProperty?)
【发布时间】:2012-07-05 10:27:54
【问题描述】:

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

用户类

public class User {

  private List<Option> options;

  public getOptions()...
}

我想在 sn-ps 中做什么

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

谁能帮帮我?

【问题讨论】:

    标签: java jsp jstl jsp-tags


    【解决方案1】:

    改成如下

    <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()

    【讨论】:

    • 您先生,2 年后确实帮助了我! :) 非常感谢!
    猜你喜欢
    • 2016-01-12
    • 1970-01-01
    • 1970-01-01
    • 2013-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-26
    相关资源
    最近更新 更多