2016-11-15 73 views
0

我想嘗試的是在我的控制器中設置List <Object>的會話屬性。然後在我的jsp文件中獲取會話中的對象列表,並通過循環顯示列表值。從會話獲取對象列表和迭代而不使用JSTL

我的控制器

//RecordView recordViewSingle = dao.getRecords(); 
//request.getSession().setAttribute("SingleRecord", recordViewSingle); 
List <RecordView> recordView = dao.getRecordDetails(); 
request.getSession().setAttribute("AllRecord", recordView); 

JSP

<% 
    //RecordView data = (RecordView)session.getAttribute("SingleRecord"); 
    List <RecordView> data = (RecordView)session.getAttribute("AllRecord"); 
%> 

<table> 
... 
... 
    <% for(int i = 0; i < data.size(); i+=1) { %> 
     <tr>  
      <td><%=data.get(i).getDataID()%></td> 
      <td><%=data.get(i).getDataName()%></td> 
      <td><%=data.get(i).getLastDate()%></td> 
     </tr> 
    <% } %> 

... 
... 
</table> 

但得到錯誤說:List cannot be resolved to a type,指着下面的代碼:

List <RecordView> data = (RecordView)session.getAttribute("AllRecord"); 

我CA如果我使用單個Object而不是使用list <Object>時,請成功運行此程序請幫我解決這個問題。如果我用來檢索表格中的數據的方式是錯誤的,那麼也糾正我。提前致謝。

回答

0

我找到了答案。犯了兩個錯誤。首先是我忘記了頂部的IMPORT util.List。而第二個錯誤是應該

List <RecordView> data = (List<RecordView>)session.getAttribute("AllRecord"); 

,而不是使用這個

List <RecordView> data = (RecordView)session.getAttribute("AllRecord"); 
0

每當有一個錯誤提「不能被解析爲一個類型」 - 永遠記住它要麼是拼寫錯誤或有缺少進口。你的情況只是給它一個檢查,如果你已經錯過了進口

第二點是 - 你的施法

<% 
    //RecordView data = (RecordView)session.getAttribute("SingleRecord"); 
    List <RecordView> data = (RecordView)session.getAttribute("AllRecord"); 
%> 

鑄造應該是(列表)session.getAttribute(「AllRecord」);

希望這會有所幫助