[英]Why won't my IDE recognize this type that I believe I have correctly imported in a JSP?
這讓我發瘋了,到目前為止,我已經在這里和這里尋找過以前的答案,但到目前為止沒有任何結果。
我正在嘗試遵循本教程, 該教程使用Rome庫提供RSS提要,以使用servlet將提要條目輸出到JSP。 我正在使用Eclipse,即使我將JAR放在項目的構建路徑和WEB-INF / lib文件夾中,它也無法識別來自羅馬的“ SyndFeed”類。 對於以下代碼,仍然顯示“未定義類型”:
<jsp:useBean id="syndFeed" scope="request" type="SyndFeed" />
在此之上,我有:
<%@ page import="com.sun.syndication.feed.synd.SyndFeed" %>
<%@ page import="com.sun.syndication.feed.synd.SyndEntry" %>
<%@ page import="java.util.Iterator" %>
我的servlet,使用Rome,基本上是直接來自本教程的:
public class RssServlet1 extends HttpServlet {
private static final long serialVersionUID = 1L;
private RequestDispatcher indexJSP;
@Override
public void init(ServletConfig config) throws ServletException {
ServletContext context = config.getServletContext();
indexJSP = context.getRequestDispatcher("/WebContent/index.jsp");
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
URL feedURL = new URL("http://rss.cnn.com/rss/cnn_tech.rss");
SyndFeedInput syndInput = new SyndFeedInput();
SyndFeed syndFeed = null;
XmlReader xmlReader = new XmlReader( feedURL );
try {
syndFeed = syndInput.build( xmlReader );
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (FeedException e) {
e.printStackTrace();
}
request.setAttribute("syndFeed", syndFeed);
indexJSP.forward(request, response);
}
}
servlet沒有顯示編譯錯誤。 所有導入都可以,包括com.sun.syndication.feed.synd.SyndFeed
。
我很茫然。 在此先感謝您的幫助!
jsp:useBean
的class
和type
屬性(這兩個屬性表示不同的含義;請確保您根據需要使用正確的屬性)期望使用完全限定的類名。 采用:
<jsp:useBean id="syndFeed" scope="request" type="com.sun.syndication.feed.synd.SyndFeed" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.