[Seasar-user:12488] Re: [teeda]TakeOverアノテーションについて
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2008年 1月 12日 (土) 20:02:03 JST
小林 (koichik) です.
Date: Fri, 11 Jan 2008 21:48:22 +0900
From: 菊山 亮 <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:12487] [teeda]TakeOverアノテーションについて
> Layout機能を使用しているのですが、
> childBody側のdoXxxメソッドではTakeOverが有効となるのですが、
> layout.html内にIncludeしたPageクラスのdoXxxメソッドではTakeOverが無効となっ
> てしまいます。
現状としては,TekeOver は現在の本来のページクラスから
次の本来のページクラスへのプロパティの引継ぎを制御
するものなので,レイアウトやインクルードされた
ページクラスは,アノテーションをチェックする対象と
なっていません.
> 現状の構成ですが、layoutにmenu.htmlがincludeされており、commandButtonが
> 押下された際に値のクリアをし、
ちょっとイカサマっぽいのですが,MenuPage の do〜() と
同名のメソッドを本来のページクラスにも持たせて
TakeOver を指定すると意図したようになると思います.
public class MenuPage {
public Class doMenuXxx() {
...
}
}
public class XxxPage() {
@TakeOver(...)
public Class doMenuXxx() {
...
}
}
# 定数アノテーションの場合でも本来のページクラスに
# do〜() メソッドが必要です.
もちろん,menu.html のフォームをサブミットした場合に
本来のページクラスの do〜() が呼ばれることはありません.
かなーり紛らわしいとは思うので,なんかいい仕様を
考えることができれば対処したいと思いますが,うーん.
> CrudTypeをDeleteに設定したいのですが、
> これらは実現不可能なのでしょうか?
こちらは意味が分かりませんでした.
CrudType というのは MenuPage のプロパティでしょうか?
それとも本来のページのプロパティでしょうか?
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>
Seasar-user メーリングリストの案内