【问题标题】:How can I loop list of objects of objects in jsp如何在jsp中循环对象的对象列表
【发布时间】:2017-08-30 21:04:20
【问题描述】:

我的 POJO 有以下用户列表,我想做的是为每个用户循环用户和循环语言

public class Display{ 
    private List<User> users;
}

class User{
    private name;
    private List<Language> languages;
}

class Language {
    private int langId;
    private String lang;
}

我通过创建对显示类“disp”的引用并检索用户列表并在 foreach 中循环它来尝试以下代码。但它不起作用。 我能够循环一个对象列表,但这种情况需要在另一个列表中循环一个列表。

我的jsp

<c:forEach var="user" items="${disp.users}" begin="0" end="${fn:length(disp.users)-1}" step="1">
     <table>
       <tr> 
         <td> user.name </td>
       </tr>
     </table>
     <c:forEach var="language" items="${user.languages}" begin="0" 
     end="${fn:length(user.languages)-1}" step="1">
        <table>
         <tr> 
           <td> language.id</td>
         </tr>
       </table>
     </c:forEach>

</c:forEach>

如何循环每个用户的用户列表和语言列表? 任何帮助表示赞赏。 提前致谢

【问题讨论】:

  • 它不起作用 不是一个有用的问题描述。请详细说明。
  • 嗨@shmosel 我在第二个forEach javax.el.E​​LException 看到以下异常:无法在org.apache.el 将[class java.lang.String] 类型的[0>] 转换为[int] .lang.ELSupport.coerceToNumber<413>

标签: java jsp foreach


【解决方案1】:

试试这个(我也把 'id' 改成了 'langId')

<c:forEach items="${disp.users}" var="user">
    <table>
       <tr> 
         <td> ${user.name} </td>
       </tr>
     </table> 
    <c:forEach items="${user.languages}" var="language">
    <table>
         <tr> 
           <td> ${language.langId}</td>
         </tr>
       </table>        
    </c:forEach>
</c:forEach>

参考How to iterate an ArrayList inside a HashMap using JSTL?

【讨论】:

    猜你喜欢
    • 2014-12-11
    • 1970-01-01
    • 2021-03-04
    • 2013-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    相关资源
    最近更新 更多