如何在jsp

时间:2017-08-30 21:04:21

标签: java jsp foreach

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

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

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

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

我通过创建对Display class“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>

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

1 个答案:

答案 0 :(得分: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?