これは私を怒らせており、私はすでにこことここで以前の答えを探していましたが、これまでのところ役に立ちませんでした.
RSSフィード用のRomeライブラリを使用して、サーブレットを使用してフィードエントリをJSPに出力するこのチュートリアルに従おうとしています。私は Eclipse を使用しています。JAR をプロジェクトのビルド パスと WEB-INF/lib フォルダーに配置したにもかかわらず、Rome の「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" %>
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);
}
}
サーブレットにコンパイル エラーは表示されません。from を含むすべてのインポートは OK ですcom.sun.syndication.feed.synd.SyndFeed
。
私は途方に暮れています。よろしくお願いします。