2015-04-02 33 views
0

我GroupObject访问JSP存储在列表中的对象,其中列表存储在对象的属性如何使用EL

public class GroupObject { 
    private String group_name; 
    private List<GroupDetails> groupMembersList; 


public String getGroup_name() { 
    return group_name; 
} 
public void setGroup_name(String group_name) { 
    this.group_name = group_name; 
} 
public String getGroup_id() { 
    return group_id; 
} 
public void setGroup_id(String group_id) { 
    this.group_id = group_id; 
} 
public String getGroup_description() { 
    return group_description; 
} 
public void setGroup_description(String group_description) { 
    this.group_description = group_description; 
} 
public List<GroupDetails> getGroupMembersList() { 
    return groupMembersList; 
} 
public void setGroupMembersList(List<GroupDetails> groupMembersList) { 
    this.groupMembersList = groupMembersList; 
} 

GroupDetails对象存储在列表上方

公共类GroupDetails {

private String member_name; 
private String member_usertype; 


public String getMember_name() { 
    return member_name; 
} 

public void setMember_name(String member_fullname) { 
    this.member_name = member_fullname; 

} 
public String getMember_usertype() { 
    return member_usertype; 
} 
public void setMember_usertype(String member_usertype) { 
    this.member_usertype = member_usertype; 
} 

}

我有一个servlet来填充'list' GroupObject与GroupDetials对象实例。

我访问“MEMBER_NAME”和GroupDetails实例

在JSP访问下面使用下面的代码片段

<c:forEach var="member" items="${members_list}"> 
             <li class="list-group-item title"> 
             <img src="${pageContext.request.contextPath}/css/images/user.png" class="img img-circle" style="display: inline" /> 
             <strong style="display:inline;"> ${member.groupMembersList.member_name} <h5 style="display: inline;">(${member.groupMembersList.member_usertype})</h5></strong> 
             </li> 
            </c:forEach> 

的“member_usertype”属性我想通过groupMemberList元素迭代,并访问他们的corressponding member_name和member_usertype,但上面的jsp不起作用。我无法访问'member_name'和'member_usertype'。 请帮忙。

+2

*我想通过groupMemberList *迭代:所以你需要在'member.groupMembersList' foreach循环。附注:帮你一个忙,并尊重Java命名约定。变量和方法是骆驼式的。它们从不包含下划线。 – 2015-04-02 17:32:50

+0

是的先生,想迭代groupMemberList [],然后访问groupDetail对象属性member_name,member_usertype。谢谢suggesstion我会立即更改命名 – 2015-04-02 17:34:24

+0

直接尝试$ {member.member_name}作为成员具有GroupDetails对象 – 2015-04-02 17:39:49

回答

0

你只需要再次foreach循环:

<strong style="display:inline;"> 
    <c:forEach items="${member.groupMembersList}" var="groupDetails"> 
     ${groupDetails.member_name} ... ${groupDetails.member_usertype} 
    </c:forEach> 
</strong> 
+0

它给出org.apache.jasper.el.JspPropertyNotFoundException:/WEB-INF/BS_AllExistingGroups.jsp(57,11)'$ {member.groupMemberList}'属性'groupMemberList'找不到on type pojo.group.GroupObject - – 2015-04-02 18:22:56

+0

它给出了这个错误,因为你使用了'groupMemberList'而不是'groupMembersList'。 – 2015-04-02 18:24:31

+0

是的,确实是愚蠢的错误。先生非常感谢您 :) – 2015-04-02 18:26:13