只能导入一个类型。 org.apache.solr.client.solrj.response.QueryResponse 解析为一个包

Only a type can be imported. org.apache.solr.client.solrj.response.QueryResponse resolves to a package

下面的人是我的 JSP,我无法在 Tomcat 上部署它。

 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
  <%@ page import = "org.apache.solr.client.solrj.response.QueryResponse" %>
  <%@ page import ="org.apache.solr.common.SolrDocumentList" %>
  <%@ page import = "java.util.Iterator" %>
  <%@ page import = "org.apache.solr.common.SolrDocument" %>
  <%@ page import = "org.apache.solr.client.solrj.response.FacetField" %>
  <%@ page import = "org.apache.solr.client.solrj.response.FacetField.Count" %>
  <%@ page import = "java.util.List" %>
  <%@ page import = "com.google.gson.Gson" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h1>Search Component</h1>
<%! public QueryResponse QryRspnsMain; %>
        <div>
          <form id="formsearch" name="formsearch" method="post"   action="/SearchBoxcComp/hello">
          <span><input name="searchWord" class="editbox_search"   id="editbox_search" maxlength="120" value="" type="text"  style="width:180px; height:20px"/></span>
            <input name="button_search" value="search" type="submit" name="submit"/>
            <div class="clr"></div>
            <%
            if(request.getParameter("submit") != null){
            QueryResponse QryRspnsMain =    (QueryResponse)request.getAttribute("SearchResult");
            Gson gson= new Gson();
            SolrDocumentList results = QryRspnsMain.getResults();
            // Get the Json Object 
            //*************String Jresponse= gson.toJson(results);

            Iterator<SolrDocument> litr = results.iterator();
            String res = gson.toJson(results);
                for (int i = 0; i < results.size(); ++i) {
                    out.print("<li>" + res);
                }
             }
            %>
          </form>
          <div>
          <%
          if(request.getParameter("submit") != null){
              QueryResponse QryRspnsMain = (QueryResponse)request.getAttribute("SearchResult");
                Gson gson= new Gson();
                SolrDocumentList results = QryRspnsMain.getResults();
                List<FacetField> facetList = QryRspnsMain.getFacetFields();
                Iterator<FacetField> itr = facetList.iterator();
                while(itr.hasNext()) {
                    FacetField facetField = itr.next();
                    List<Count> facvalue = facetField.getValues();
                    for(int i=0; i<facvalue.size(); i++){
                         System.out.println(facvalue.get(i));
                         out.print("<li><a href= \"/SearchBoxcComp/FacetServlet?facetFiled=\"" + facvalue.get(i) + "&catlevel=" + facetField.getName());
                         }
                }
          }
           %>
                 </div>
        </div>

</body>
</html>

部署时出现以下错误:

HTTP Status 500 - Unable to compile class for JSP:


type Exception report

message Unable to compile class for JSP:

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP:

An error occurred at line: 6 in the generated java file Only a type can be imported. org.apache.solr.client.solrj.response.QueryResponse resolves to a package

An error occurred at line: 9 in the generated java file Only a type can be imported. org.apache.solr.client.solrj.response.FacetField resolves to a package

An error occurred at line: 19 in the jsp file: /SearchBoxNew.jsp QueryResponse cannot be resolved to a type

提前感谢您的建议:)

从错误看来,您正在尝试导入不是 class 的内容。

如果您的 QueryResponse 是 class,您应该像这样导入它:

<%@page import="org.apache.solr.client.solrj.response.QueryResponse"%>

如果它是一个包,而您想导入包中的所有内容,您应该这样做:

<%@page import="org.apache.solr.client.solrj.response.* "%>

如果您使用的是 Maven - 检查您的 pom 文件中是否有 apropriate dependency