vs Railsを意識するならば
うーん。寝すぎた。
せっかくなのでRailsで出来てるようなものもサポートしていきたいなとか思ってます。
ということでresponseが"text/javascript"であるケース。
RJSと同じようにTemplate使う場合はvelocityで十分だなあ。
なんとなくですがscript.aculo.usを使いますよと。
でTemplateですよと。
javascript.vm
Element.update("title", $title); new Insertion.Bottom("target", "<li>$value</li>"); new Effect.Highlight('target',{duration:1});
これを返し、そのままevalするだけ。
これぐらいのjavascriptなら書いてもいいかなって気がする。
(敢えてjavascriptBuilderはおいて置く。必要性があれば)
まーRJSのところをVelocityにしてるだけだし多分簡単にできそう。
問題は返し方で
JSF(FacesServelt)が土台である場合
- Renderを書いてそいつ経由で吐く
- ExternalContextからOutputStreamで吐く
- とにかく吐き出す
ふつーのServlet(AjaxServelet)である場合
- そのままOutputStreamで吐く
やっぱこう考えると別Servletの方がシンプルで自由度高いね。
S2Velocity使えばVelocityも楽々になるんではないかな。
参考:
くまくまーさんとこ
http://wota.jp/ac/?date=20051205#p01
JSFでjavascriptを吐き出すサンプル(下のほうでalert文を平文で返しているサンプルがあります)
JSFとAjaxは共存しにくい!? - def __mopemope__(self, *args, **kwargs):
うくく。