JAva生成rssコンポーネント


暇にjava生成RSSの小さなコンポーネントを書いていますが、本人は他のオープンソースのコンポーネントを参考にしたことがありませんが、個人的にはこの出力方式が使いやすいと思います.
主にjavaの反射メカニズムを用いた.
大体の機能:
      あなたのPOでは、Author、Description、Guid、Link、Param、PubDate、Titleなどのannotaionsを定義します.
      RSSのラベルを生成する必要があるのと同じ名前です
      データベースから値を取ってリストに戻ると値はすでに入っています.
     呼び出しプロセス全体は次のとおりです.

//  list       
List placeList =placeService.getPlaceList(cecondition, pager, request);
//      RSS      XML    
RssTemplet rssTemplet=RssTemplet.newInstance();
Channel channel;
			try {
                                //     RSS  
				channel = rssTemplet.createRssTemplet(placeList);
                                //       
				channel.setTitle("uuke   ");
				channel.setDescription("uuke         ");
				channel.setLink("http://www.uuke.cn");
				channel.setGenerator("           ");
                               //      
				Set items=channel.getItems();
				Iterator iterator=items.iterator();
				while(iterator.hasNext()){
					Item item=(Item)iterator.next();
					item.setLink("http://www.uuke.cn/place/go_"+ item.getParams("placeId") +".html");
					item.setDescription(
							"<div id=\"box\">"+
							"<img src=\"http://www.uuke.cn/"+ item.getParams("isimage") +"_2.gif\" />"+
							"<p>  :"+ item.getParams("placeAddr") +"</p>"+
							"<p>  :"+ item.getParams("homePhone") +"</p>"+
							"<p>    :"+ item.getParams("avgMonly") +" / </p>"+
							"<p>"+ item.getDescription() +"</p>"+
							"</div>"
							);
					item.setAuthor("uuke.cn");
					item.setGuid(item.getLink());
				}
				sb=rssTemplet.createRss(channel);
			} catch (Exception e) {
				e.printStackTrace();
			}

特に説明するのはitem.getParams()
RSSにはlinkタグがあります  このリンクタグに基づいて具体的なページにジャンプできる役割を果たす.
しかし、この場合にはオブジェクトのIDや他の情報を得る必要があり、スキップすることができる.
POでparamsのannotaionを使うだけです  フィールドを定義すると値が取得されます
のように
@Param
private Long id;
//gets sets
.....
item.getParams("id");取り出せる
または 
@Param("p_id")
private Long id;
//gets sets
item.getParams("p_id");
取れる
.....
具体的にはソースを见てください..
効果の表示  http://www.uuke.cn/place/findTypePlace---1---rss.html