从arraylist中提取聚合对象值

时间:2015-09-05 05:31:56

标签: java arraylist

我试图在arraylist

中存储聚合对象
public class FlatAddress implements Serializable{
 private String flat_no;
 private String flat_type;
 private String flat_address;
 private int area_code;
 private int state_code;

 private UserPrintApp uPrint;
 //getters and setters..
}

在第二步中,我能够在ArrayList中存储值并将Collection返回到我的servlet页面

Collection<FlatAddress> printAllotLetter = new ArrayList<FlatAddress>();

FlatAddress fa = new FlatAddress();
  UserPrintApp upa = new UserPrintApp();
  upa.setEmp_code(1234);
  upa.setEmp_name("EmpName");
  upa.setEmp_designation("Mgr");
  fa.setuPrint(upa);
  fa.setFlat_no("ad/1");
  fa.setFlat_address("Treemax");
  printAllotLetter.add(fa);

在使用ArrayListjstl尝试提取对象时,它会显示javax.el.PropertyNotFoundException

<c:forEach var="letter" items = "${allotLetterPrint }">
    <c:out value="${letter.emp_code }"></c:out>
    <c:out value="${letter.flat_address }"></c:out>
</c:forEach>

是否有可能从集合中提取聚合对象,或者我应该准备其他集合类来执行我到目前为止所尝试的内容..

1 个答案:

答案 0 :(得分:0)

是的,这是可能的,但是以这种形式:

${letter.uPrint.emp_code}

而不是

${letter.emp_code } <-- letter does not have emp_code property

您正在遍历printAllotLetter集合,该集合具有类型为&#34; FlatAddress&#34;的变量,其具有类型为UserPrintApp的uPrint变量,其具有emp_code getter。