【问题标题】:Get Object List from Session and Iterate without using JSTL从 Session 中获取对象列表并在不使用 JSTL 的情况下进行迭代
【发布时间】:2016-11-15 03:09:49
【问题描述】:

我想尝试的是在我的控制器的会话中设置List <Object> 的属性。然后在我的 jsp 文件中从会话中获取对象列表并通过循环显示列表值。

我的控制器

//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");

如果我使用单个Object,我可以成功运行该程序,但在使用list &lt;Object&gt; 时不能运行,请帮我解决这个问题。如果我用来检索表中数据的方式错误,也请纠正我。提前致谢。

【问题讨论】:

    标签: list jsp session getattribute


    【解决方案1】:

    我找到了答案。犯了两个错误。首先是我忘记在顶部输入 IMPORT util.List。第二个错误应该是

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

    而不是使用这个

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

    【讨论】:

      【解决方案2】:

      每当出现提及“无法解析为类型”的错误时 - 始终记住它要么拼写错误,要么缺少导入。在您的情况下,请检查您是否错过了导入

      第二点是 - 你的选角

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

      强制转换应该是 (List)session.getAttribute("AllRecord");

      希望对你有帮助

      【讨论】:

        猜你喜欢
        • 2013-09-02
        • 1970-01-01
        • 2011-07-10
        • 1970-01-01
        • 2018-12-19
        • 2016-03-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多