簡體   English   中英

將數據從servlet發送到jsp

[英]Send data from servlet to jsp

我試圖將列表從servlet發送到jsp頁面。 這是servlet代碼:

Query q = new Query("post").addSort("time", SortDirection.DESCENDING);
PreparedQuery pq = datastore.prepare(q);

QueryResultList<Entity> results = pq.asQueryResultList(fetchOptions);
for (Entity entity : results) {
    System.out.println(entity.getProperty ("content"));
    System.out.println(entity.getProperty ("time"));
}
req.setAttribute("postList",results);
req.getRequestDispatcher("/tublr.jsp").forward(req, resp);

jsp代碼:

<%
    QueryResultList<Entity> result = request.getAttribute("postList");
    for (Entity entity : results) {           
        <b> IT WORRRKKKK !!! </b> <br>
    }
%>

但我得到一個錯誤

編輯:我添加了

<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<%@ page import="java.util.List,com.google.appengine.api.datastore.Query.SortDirection,com.google.appengine.api.datastore.*" %>

現在我得到一個新的錯誤

在jsp文件中的第37行出現錯誤:/tublr.jsp類型不匹配:無法從Object轉換為QueryResultList .....由以下原因引起:

org.apache.jasper.JasperException:無法為JSP編譯類:

我是在學校里做的,現在我們必須像這樣,我們必須在jsp頁面中使用java。

1)您需要在JSP頂部添加import語句。

例:

<%@ page import="java.util.List" %>

2)將Java代碼直接嵌入JSP中不是一個好習慣

SO Wiki上了解更多信息

不要在JSP頁面上進行任何編碼。 有一個用於此類內容的JSTL庫,要迭代和顯示您應使用forEach標簽的內容:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>

和for循環

<x:forEach select="${postList}" var="item">
    ... code
</x:forEach>

您是否已在jsp中導入QueryResultList

您忘記了HTML代碼的<%%>

<%
   QueryResultList<Entity> result = request.getAttribute("postList");

   for (Entity entity : results) {           

          %> <b> IT WORRRKKKK !!! </b> <br><%

   }

%>

您需要將從request.getAttribute("postList")獲得的列表request.getAttribute("postList")QueryResultList

<%
    QueryResultList<Entity> result =(QueryResultList)request.getAttribute("postList");
    for (Entity entity : result) {           
       // Your code goes here  You can use <%= %> to print values. 
       // <b> IT WORRRKKKK !!! </b> <br>

    }
%>

有關表達的更多信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM