[英]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。
不要在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.