画面定義XMLはロジック側を意識しない

忘れないうちにもう一発。

MayaaTeedaの考え方では、デザインとロジックを分離するため、できるかぎりHTMLにはJavaのロジックに関することは書かない、という方針になっていたはず。

そう考えると、先日書いた action 属性によるメソッドバインディングは、あまりよろしくないのかしら。

<control type="button" id="guButton" action="#{janken.goo}">

たとえば・・・

  1. 画面名称とアクションクラスの名称の間に規約(アクションクラスのコンポーネント名は「画面名+Action」にする)をつくる(例:Janken 画面なら JankenAction)
  2. ボタンを選択したときに呼び出されるメソッド名にも規約(「ウィジットのID+Action」)を設ける(例: id="guButton" なら、guButtonAction() )

などとして、この規約から外れる場合は以下のような感じで、アノテーションで記述するというのはどうでしょう。

@SelectedListener(id="guButton")
public void fooAction()

これで画面定義XMLは、ほぼ画面の見栄えだけを記述すればよいはず。