setAttribute不能与httpsession一起使用

时间:2017-08-05 00:36:11

标签: jsp servlets setattribute

所以我知道我已经找到了很多关于这个问题的答案,但无论我怎样尝试都无法让它发挥作用。

JSP:

<%
   SQL data = new SQL();

    ArrayList<Transaction> list = data.getTransactions();
%>

   <table border="0">
        <tr>
            <td class="display_Headers">ID</td>
            <td class="display_Headers">Date</td>
            <td class="display_Headers">To</td> 
            <td class="display_Headers">From</td>
            <td class="display_Headers">Amount</td>
            <td class="display_Headers">Notes</td>
        </tr>
        <%for(int i=0;i<list.size();i++){%>
        <tr class="displayData">
            <td><%=list.get(i).getID()%></td>
            <td><%=list.get(i).getDate()%></td>
            <td><%=list.get(i).getToAccount()%></td>
            <td class="space"><%=list.get(i).getFromAccount()%></td>
            <td class="space"><%=list.get(i).getAmount()%></td>
            <td><%=list.get(i).getNotes()%></td>
        </tr>
        <% } %>
    </table>

我想构建正确的MVC架构。但是现在我必须使用JSP中的java代码以这种方式构建它才能使它工作。 java逻辑应该在servlet中,并在请求或会话属性中设置数据,以便稍后在JSP页面中获取它。

servlet:

HttpSession session = request.getSession();
session.setAttribute("data", nameOfObject);
  request.getServletContext().getRequestDispatcher("display.jsp").forward(request, response);   

无论如何,我似乎无法让它工作。感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

为什么会获得属性data?至少在display.jsp中需要以下行。

Object nameOfObject = session.getAttribute("data");