ひがやすを技術ブログ

電通国際情報サービスのプログラマ

Tapestry入門記(11) Submit2

複数のSubmitコンポーネントがある場合に昨日やったように
tagパラメータを使う方法以外に、リスナーメソッドを直接起動
する方法もあります。


<form jwcid="@Form">
<input type="submit" jwcid="@Submit"
listener="ognl:listeners.submit"
label="submit"/>
<input type="text" jwcid="@TextField"
value="ognl:text"/>
</form>
この方法の注意点は、リスナーメソッドが呼び出されるタイミングは、
rewindと同じだということです。たぶん、上から下、左から右なんでしょう。
上記のようなサンプルだと、TextFieldが処理される前にsubmitメソッドが
呼び出されるので、正しい値を受け取れなくなります。
tagパラメータを使う方法は、プロパティの設定が全部終わった後に
呼び出されるので安心です。