[英]How to access properties of a object stored in list which itself is variable of a class using jsp el
I am trying to access the variable of object that is present in a list. 我正在尝试访问列表中存在的对象的变量。 This list is itself a variable member of a object. 该列表本身是对象的变量成员。 I m trying to display this variable using jsp expression language but getting this error. 我试图使用jsp表达式语言显示此变量,但出现此错误。
My jsp page is as follows 我的jsp页面如下
<h5> ${group1.group_name}</h5>
<div>
<ul class="list-group">
<li class="list-group-item title">
<strong style="display:inline;"> About: <h5 style="display: inline;"> ${group1.group_description}</h5></strong>
</li>
<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>
</ul>
</div>
</c:forEach>
My servlet that passess the values as attributes to the jsp above 我的servlet,将值作为属性传递给上述jsp
//current user's user-name
String currentUser = request.getParameter("username");
String group_name=null;
String GetGroupInfo = "select * from groups where creator_username=?";
//get all the groups where the creator's user-name is currentUser
try {
List<GroupObject> groups = new ArrayList<GroupObject>();
List<Group> SingleGroup = new ArrayList<Group>();
ps3 = currentCon.prepareStatement(GetGroupInfo);
ps3.setString(1,currentUser);
rs3 = ps3.executeQuery();
//set values for Group object
while(rs3.next())
{
GroupObject groupObj = new GroupObject();
Group group = new Group();
groupObj.setGroup_id(rs3.getString("group_id"));
groupObj.setGroup_name(rs3.getString("group_name"));
groupObj.setGroup_description(rs3.getString("group_description"));
group.setGroup_id(rs3.getString("group_id"));
group.setGroup_name(rs3.getString("group_name"));
group.setGroup_description(rs3.getString("group_description"));
SingleGroup.add(group);
String query = "select * from group_members where group_id=?";
ps = currentCon.prepareStatement(query);
ps.setString(1, groupObj.getGroup_id());
rs = ps.executeQuery();
List<GroupDetails> membersList = new ArrayList<GroupDetails>();
while(rs.next())
{
GroupDetails groupInfo = new GroupDetails();
groupInfo.setIs_admin(rs.getString("is_admin"));
groupInfo.setAdded_on(rs.getString("added_on"));
groupInfo.setCreator_username(rs.getString("creator_username"));
groupInfo.setGroup_name(rs.getString("group_name"));
groupInfo.setGroup_id(rs.getString("group_id"));
groupInfo.setUser_name(rs.getString("user_name"));
groupInfo.setMember_id(rs.getString("member_id"));
String memberFullname = "select firstname,lastname,user_type from users where username ='" + groupInfo.getUser_name() + "'";
ps2 = currentCon.prepareStatement(memberFullname);
rs2 = ps2.executeQuery();
if(rs2.next())
{
String member_fullname = rs2.getString("firstname") + " " + rs2.getString("lastname");
groupInfo.setMember_name(member_fullname);
groupInfo.setMember_usertype(rs2.getString("user_type"));
}
group_name = groupInfo.getGroup_name();
membersList.add(groupInfo);
}
groupObj.setGroupMembersList(membersList);
groups.add(groupObj);
}
//request group name
request.setAttribute("group_name",group_name);
request.setAttribute("individual_group", SingleGroup);
request.setAttribute("members_list", groups);
request.setAttribute("currentUser", currentUser);
RequestDispatcher rd = request.getRequestDispatcher("/ViewAllExistingGroups");
rd.forward(request, response);
} catch (SQLException e) {
e.printStackTrace();
}
My GroupDetails Class 我的GroupDetails类
package pojo.group;
public class GroupDetails {
private String member_id;
private String user_name;
private String creator_username;
private String group_id;
private String group_name;
private String added_on;
private String is_admin;
private String member_name;
private String member_usertype;
public String getMember_id() {
return member_id;
}
public void setMember_id(String member_id) {
this.member_id = member_id;
}
public String getUser_name() {
return user_name;
}
public void setUser_name(String user_name) {
this.user_name = user_name;
}
public String getCreator_username() {
return creator_username;
}
public void setCreator_username(String creator_username) {
this.creator_username = creator_username;
}
public String getGroup_id() {
return group_id;
}
public void setGroup_id(String group_id) {
this.group_id = group_id;
}
public String getGroup_name() {
return group_name;
}
public void setGroup_name(String group_name) {
this.group_name = group_name;
}
public String getAdded_on() {
return added_on;
}
public void setAdded_on(String added_on) {
this.added_on = added_on;
}
public String getIs_admin() {
return is_admin;
}
public void setIs_admin(String is_admin) {
this.is_admin = is_admin;
}
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;
}
}
Any help is welcomed. 欢迎任何帮助。 How can i acess the member_name property from the GroupDetails object stored in list groupMembersList that is itself a variable of the GroupObjects. 我如何从存储在列表groupMembersList中的GroupDetails对象中访问member_name属性,该列表本身是GroupObjects的变量。 Help with jsp el plz 帮助与JSP EL PLZ
You are missing member_name
. 您缺少member_name
。 It's probably coming as NULL and causing issues. 它可能是NULL并引起问题。 You probably wanted to say member_id
. 您可能想说出member_id
。 The code you provided doesn't have any mentioning of member_name
there. 您提供的代码在那里没有提及member_name
。 I would also check and ensure that the application is going inside if(rs.next()){...}
control flow block as this has the assignment for the member_name
into the request parameter. 我还将检查并确保应用程序进入if(rs.next()){...}
控制流块,因为这将member_name
的分配分配到了request参数中。
UPDATE 更新
After your comments regarding the access of Java objects in a JSP, the following example should work for you 在对JSP中的Java对象的访问发表评论之后,以下示例应为您效用
<p> Member Name :
<jsp:useBean id="your_object_name" class="package.with.class">
<jsp:getProperty name="your_object_name" property="member_name">
</p>
Replace the text inside the quotation mark to have your class and package names correctly. 替换引号内的文本以正确获得您的类和包名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.