たぷつきません

おなかがでてきた。もうたぷついてるやん。

OGNLの、な、なんじゃこりゃ。

 普通にプロパティを文字列比較する際、

condition="ognl:strProp == 'A'"

…でも

condition="ognl:strProp eq 'A'"

…でも、エラーになります。

http://www.ognl.org/2.6.7/Documentation/html/LanguageGuide/apa.html

 ココをよく読むと、信じがたいことに、数値型でしか評価しない!?…そうです。ありえん。JavaScript程度ぐらいの式評価やってくれよーと文句を言いながら、

condition="ognl:strProp.equals('A')"

…としたところ、やっぱりtrueになりません。しかしステップ実行する分には、getStrProp() は "A" を返しています。
 ここからいろんな旅がはじまり、Spindleが勝手に割り込むライブラリがOGNLのソース添付ができずにステップ実行して原因を追うことさえできず、試行錯誤の結果、自分で用意したにも関らず、Spindleの予約ライブラリにOGNLが含まれる
からやっぱりソースが見えないという恐ろしい状況です。
 仕方なくようやくOGNL追っかけをあきらめ、最後の手段で、

public boolean strPropEquals(String value) {
    return getStrProp().equals(value);
}

…という関数を作って

condition="ognl:strPropEquals('A')"

 に変更してみました。value にはちゃんと "A" が渡されて、true が返され、ようやく別のエラー(笑)に進みました。
 …OGNLが悪いのかTapestry-OGNL連携が悪いのか知りませんが、もしこんなんが仕様なら、理解に苦しみます。
 だれか「日本語で書かれたOGNLの解説本」たのむ。それか私の記述の仕方がそもそも悪いなら、どう書けば良かったのか解説希望。日曜に終わるはずの進捗目標がこのせいで終わらなかった…。残念。