[Seasar-user:11437] Re: Layoutを使用しIncludeしたheader.html内に画面名を表示したい
Shinichi Yanagisawa
[E-MAIL ADDRESS DELETED]
2007年 11月 4日 (日) 14:29:24 JST
お世話になります。柳澤です。
ご指導いただきありがとうございました。
> header.htmlに対応するHeaderPage.javaを作成します。
> HTMLの書き方はこれまでと同じで動的に書き換えたいところは
> idを振っておいてください。
>
> 後は、メインとなるPageクラスでHeaderPageのプロパティを
> 宣言しておけば、自動的にHeaderPageが設定されるので、
> 適当にプロパティを設定すればOKです。
この方法で対応できました。
ただ、すべてのPageクラスで自分の画面名をHeaderPageのプロパティ
に設定する必要があるため、もっとスマートな方法はないかと思っています。
(たとえば、各サブアプリケーションのlabel.propertiesに記述したプロパ
ティがHeaderに表示できるような。。)
あまりスマートではないのですが、pageクラスのprerenderメソッドをイン
ターセプトして、headerPageのプロパティに設定するようなinterceptor
を作ってみました。(添付)
その中での疑問ですが、interceptorの中でheaderPageをバインドしよ
うとしましたが、バインドできませんでした。
そこで、S2Containerをバインドし、headerPageを取得するようにしまし
たが、エラーが発生しHeaderPageにキャストできませんでした。
(shopping.web.layout.HeaderPage$$EnhancedByS2AOP$$43a52c
cannot be cast to shopping.web.layout.HeaderPage)
本題とずれてしまいますが、この原因についてわかりましたら教えてください。
また、本題のスマートにHeader.htmlに画面名を表示する方法がありました
ら教えてください。
よろしくお願いします。
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: HeaderPropertiesSetterInterceptor.java
型: application/octet-stream
サイズ: 2483 バイト
説明: 無し
URL: http://ml.seasar.org/archives/seasar-user/attachments/20071104/3c7f32f2/attachment.obj
Seasar-user メーリングリストの案内