前回:http://blogs.wankuma.com/kazuki/archive/2008/05/31/140571.aspx
前回Ruby on railsのflashみたいなものをJSFで使えるように作った。
何のために作ったかというと、JPAとかを使ってとってきたデータを表にバインドさせた時に、SessionBeanとかに入れるんじゃなくて、flashに入れるのに使おうと思って作りました。
なので、使うときのパターンは、Visual Web JSFの画面内で
private String hogeValue;
// getter/setterは省略
public void init() {
// IDEの出力したソースは省略
hogeValue = Flash.get("hogeValue", String.class);
}
public void destroy() {
Flash.put("hogeValue", hogeValue);
}
といった感じになる。ページのライフサイクルの最初で値を取得して、最後で避難しておくという形だ。
ただ、これを毎回書いていくのはダルイ!ということで、ちょびっといじって下のように書けるようにした。
private String message;
public String getMessage() {
return message;
}
@com.wankuma.kazuki.vwjsf.flash.Keep // getterかsetterのどちらかにつける
public void setMessage(String message) {
this.message = message;
}
Keepアノテーションをつけておくと、自動的にflashに退避してくれて、次の時には退避場所から値をセットしておいてくれる。
**ソース一式は↓から
http://kazuki.wankuma.com/apps/flash/com.wankuma.kazuki.vwjsf.zip