0

私は次のようなコンテキストパラメータを持っています:

  <context-param>
    <param-name>myInitParam</param-name>
    <param-value>myValue</param-value>
  </context-param>

次のように、JSF 1x (正確なバージョンは 1.1.02) で初期化パラメータを取得したい:

<object>
<param name="HTTPPort" value="#{initParam.myInitParam}" />

しかし、私はJSPでコンパイラエラーが発生しています:

the attributes for a standard action or an uninterpreted tag cannot be deferred expressions

JSF 1x で init パラメータを取得する方法と、JSF 1x で使用される EL のリファレンスを教えてください。

4

1 に答える 1

1

#{}EL 変数は正しいですが、JSF 1.x のデフォルトのビュー テクノロジーであるレガシー JSP のテンプレート テキストで遅延 EL を使用することはできません。これはまさにエラー メッセージが伝えようとしている内容です。

を使用して印刷する必要があります<h:outputText>

<f:verbatim><param name="HTTPPort" value="</f:verbatim><h:outputText value="#{initParam.myInitParam}" /><f:verbatim>" /></f:verbatim>

(すでに を使用してプレーンな HTML を出力していると仮定していることに注意してください<f:verbatim>

はい、これは 1 行の醜さですが、それが JSP を使用するメリットであり、Facelets が導入された主な理由の 1 つです。

以下も参照してください。

于 2013-05-14T11:07:09.163 に答える