これは私のコードです。私には正しいようです。なぜこれを言い続けるのかわかりません:
「型 Iterator をインスタンス化できません」
これはサーブレットです:
package uges.servlets;
import jess.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.Iterator;
public class Catalog extends BaseServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
checkInitialized();
try {
String customerId =
(String) request.getParameter("customerId");
if (customerId == null || customerId.length() == 0) {
dispatch(request, response, "/index.html");
return;
}
request.getSession().invalidate();
HttpSession session = request.getSession();
session.setAttribute("customerId", customerId);
session.setAttribute("orderNumber",
String.valueOf(getNewOrderNumber()));
ServletContext servletContext = getServletContext();
Rete engine = (Rete) servletContext.getAttribute("engine");
Iterator result =
engine.runQuery("all-products", new ValueVector());
request.setAttribute("queryResult", result);
} catch (JessException je) {
throw new ServletException(je);
}
dispatch(request, response, "/catalog.jsp");
}
これはディスパッチ メソッドで、BaseServlet という名前のサーブレットにあります。
protected void dispatch(HttpServletRequest request,
HttpServletResponse response,
String page)
throws IOException, ServletException {
ServletContext servletContext = getServletContext();
RequestDispatcher dispatcher =
servletContext.getRequestDispatcher(page);
dispatcher.forward(request, response);
}
そしてこれはJSPコードです:
<HTML>
<%@ page import="jess.*" %>
<jsp:useBean id="queryResult" class="java.util.Iterator" scope="request"/>
エラーは useBean タグのクラス型の java.util.Iterator に関するものです!
例外は言う: useBean クラス属性 java.util.Iterator の値が無効です
助けてください..
前もって感謝します!