0

最后发表

我正在尝试将 QueryResultList 从 servlet 发送到 jsp 页面。我写了这段代码

QueryResultList<Entity> results = pq.asQueryResultList(fetchOptions);
System.out.println("-------------------");

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

<%@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.*" %>

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

但我收到一个错误在 jsp 文件中的第 37 行发生错误:

/tublr.jsp 类型不匹配:无法从 Object 转换为 QueryResultList 34: .... 原因:

org.apache.jasper.JasperException:无法为 JSP 编译类:

我是为学校做的,所以我必须这样做(在jsp页面中使用java代码)

编辑:我仍然有这个错误,我不明白,它在 Servlet 中工作正常......

An error occurred at line: 40 in the jsp file: /tublr.jsp
results cannot be resolved
37:        QueryResultList<Entity> result = (QueryResultList<Entity>)request.getAttribute("postList");
38: 
39:            
40:            for (Entity entity : results) {           
41:                  
42:                   %>  <b> IT WORRRKKKK !!! </b> <br> <%
43:               
4

4 回答 4

0

投射request.getAttribute("postList");QueryResultList<Entity>

改变

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

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

如果请求属性是QueryResultList<Entity>. 此外,您应该复习基本的 java。您似乎不了解您遇到的异常。

于 2013-06-27T18:56:37.203 回答
0
QueryResultList<Entity> result = (QueryResultList<Entity>) request.getAttribute("postList");
于 2013-06-27T18:58:23.083 回答
0

改变这个

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

到这里看看:

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

确保您返回的 postList 是 Entity 类型的列表

于 2013-06-27T19:03:35.027 回答
-1

尽量不要在 JSP 中使用 scriptlet,因为这让其他人很难维护。相反,您可以在 JSP 中使用 JSTL。

于 2013-06-27T19:03:10.703 回答