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