- PR -

JSF:ページ内容のインクルードについて

1
投稿者投稿内容
かに
会議室デビュー日: 2004/11/29
投稿数: 2
投稿日時: 2004-11-29 11:57
初めて投稿させていただきます。よろしくお願いいたします。

JSFのjspページにおいて、動的に他のページをインクルードしたいのです。
他のページをインクルードするには<jsp:include>を使用することまでは
調べたのですが、以下のようにJSPのバッキングビーンのプロパティに格納
されているファイル名を元にインクルードすることはできないのでしょうか。

<jsp:include page="#{config.fileName}"/>

ちなみに<h:outputText value="#{config.fileName}"/>で確認すると期待通りに
ファイル名が表示されました。

環境は以下の通りです。
J2SDK 1.4.2
JBOSS 3.2.5
JSF: myfaces 1.0.6

ご存知の方がございましたら、ご教授の程お願いいたします。
影フリー
常連さん
会議室デビュー日: 2004/11/12
投稿数: 39
お住まい・勤務地: 東京都
投稿日時: 2004-11-30 12:44
動的に他のページをインクルードするのは出来ないと思います。
ifでチェックして分ける方法しか。
かに
会議室デビュー日: 2004/11/29
投稿数: 2
投稿日時: 2004-12-02 09:38
影フリーさま

ご返信いただきありがとうございました。
いろいろ試して見た結果、以下のような方法で実現することで落ち着きました。

<jsp:include page="${config.fileName}"/>

・・・#を$に変えただけです(^^;
素人ながらいろいろ考えますと、jsp:includeアクションはJSFのレンダリング?が
行われる前に実施されるものだと思いました。よって、#{config.fileName}とした
ところでこのEL書式はJSFのものなので当然単なる文字列?として扱われるのかな?

じゃ、jsp:includeの時にELて使えないのかといろいろ調べてみたらJSP2.0なら$で
使えるみたいだったので試しにやってみたらうまくいきました。

この方法でよいのかどうかあまり自信ないですがとりあえず動いているのでこのまま
でいこうと思います。どなたかほかに良い手段をご存知であれば教えてください。

以上、自己解決すみません
1

スキルアップ/キャリアアップ(JOB@IT)