RSS jsp taglib v 0.2
package com.ranjan.feedreader; /** * Created by IntelliJ IDEA. * User: Rapid * Date: Oct 9, 2006 * Time: 3:18:23 PM * To change this template use File | Settings | File Templates. */ import java.net.URL; import java.util.Iterator; import java.util.HashMap; import com.sun.syndication.feed.module.Module; import com.sun.syndication.feed.synd.SyndEntry; import com.sun.syndication.feed.synd.SyndFeed; import com.sun.syndication.io.SyndFeedInput; import com.sun.syndication.io.XmlReader; import javax.servlet.jsp.JspContext; import javax.servlet.jsp.tagext.Tag; import javax.servlet.jsp.tagext.TagSupport; import javax.servlet.jsp.JspException; /* this tag should return the RSS feed as it is *it's purpose is to retrieve rss feeds * */ public class FeedReader extends TagSupport{ private String url = null; SyndFeedInput input ; URL feedUrl; SyndFeed feed ; String html ; public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public int doStartTag() throws JspException { return EVAL_BODY_INCLUDE; //To change body of overridden methods use File | Settings | File Templates. } public int doEndTag() throws JspException { try { feedUrl = new URL(url); input = new SyndFeedInput(); feed = input.build(new XmlReader(feedUrl)); /* String metaRSS = "Title: " + feed.getTitle() + "\n" + "Author: " + feed.getAuthor() + "\n" + "Description: " + feed.getDescription() + "\n" + "Pub date: " + feed.getPublishedDate() + "\n" + "Copyright: " + feed.getCopyright() ; pageContext.getOut().write( metaRSS ); */ html = "<table border='1'>" + "<tr>" + "<td>" + feed.getTitle() + "</td>" + "</tr>" + "<tr>" + "<td>" + feed.getDescription() + "</td>" + "</tr>" + "<tr>" + "<td>" + feed.getCopyright() + "</td>" + "</tr>" + "<tr>" + "<table>" ; //"<td> <a href = '#' onclick = " + "\"" + "popup_rss_article('" + /**/ + "') \"" + ">" + /**/ + "</a></td>" for( Iterator iter = feed.getEntries().iterator(); iter.hasNext(); ){ html += "<tr>" + createHREF(((SyndEntry)iter.next()).getLink() , ((SyndEntry)iter.next()).getTitle() ) + // "<td> <a href = '#' onclick = " + "\"" + "popup_rss_article('" +((SyndEntry)iter.next()).getLink() + "') \"" + ">" + ((SyndEntry)iter.next()).getTitle() + "</a></td>" + "</tr>"; //((SyndEntry)iter.next()).getLink().toString() } html += "</table>" + "</tr>" + "</table>" ; pageContext.getOut().write( html ); } catch (Exception ex) { ex.printStackTrace(); System.out.println("ERROR: " + ex.getMessage()); } return EVAL_PAGE; //To change body of overridden methods use File | Settings | File Templates. } public String createHREF( String link, String value ) { return "<td> <a href = '#' onclick = " + "\"" + "popup_rss_article('" + link + "') \"" + ">" + value + "</a></td>"; } } ////////////////////////////////////////// tld ///////////////////////////////// //////////////////////////////////////////