Let's start Scheme

2011-09-06

Spring webflowの話

サーバーサイドJavaをやってる人なら避けて通れないSpring framework。その中の一つにwebflowがあるのだが、これではまっている話。

話は実は2つある。

1つ目。
ステートの対するレスポンスの話。
webflowはフローチャートをwebで簡単に実装するためにあるようなもので、状態遷移の管理のフレームワークだと思えばいいはず。っで、はまったのはそれ+Ajaxで起きた。
ある状態からある状態に遷移する際にAjaxを使って一部だけを更新しようとした際に、以下のように書いてはいけない
<view-state id="state1" >
  <transition on="trans1" to="trans2" / >
</view-state>

<action-state id="trans2" >
  <!-- do something -->
  <render fragments="frag1" />
</action-state>
Ajaxを使っている場合は状態遷移を起こすとレスポンスがおかしなことになるっぽい。上記のは単にtransitionタグに入れてやればいいんだけど、似たような処理を一箇所にまとめるということができない。見事にはまった。
正直現状のバージョン(2.2を使用)はAjaxとの相性が悪い気がする。というか、そもそもこれ自体がAjaxを使いことを想定していないような感じ。

2つ目。
現在進行形。
webflowのログの話。
webflowは当然だがログを吐く。もちろんログの制御はlogback.xmlとかその辺のでできる。っが問題があって、どのレベルでも吐いてほしくないログというのはどこにでも存在する。たとえばパスワード。
どの世界にも平文のパスワードを吐き出してほしいと思う開発者はいないはず(まぁ、よからぬことを考えているなら別だが)。
っが、webflow君はあまりそんなこと気にしない。正確にはflowScopeに格納されたプロパティをDEBUGモードだと全部吐き出す素敵仕様。そもそもスコープにパスワードを入れるなということなのかもしれないが・・・

いつまでたってもSpringが好きになれない。すごいフレームワークだとは思うんだけど、なんだかなぁ感がいつまでたっても拭えないからに違いない。

No comments:

Post a Comment