0

私の問題は非常に単純ですが、それを解決する方法が見つかりません。私は多くの JSF XHTML ページ (IceFaces ライブラリが使用されていますが、これは何も変更しないと思います) を持っており、そのうちのいくつかにはui:includeディレクティブを持つ他のページが含まれています。もちろん、これは再帰的である可能性があり、バグがアプリケーションで再現できる場合、それを表示した XHTML を見つけるのは必ずしも容易ではありません。

私がやりたいことは次のとおりです。Webページのレンダリング中に使用されるすべてのXHTMLページの名前を出力します。今まで見つけた唯一の方法は、各 XHTML ファイルに表示を追加することです。たとえば、displayCustomer.xhtmlこれは最初の行として次のようになります。

<outputText rendered="#{myBean.debugXHTML}" value="displayCustomer.xhtml" />

これは機能しますが、すべてのファイルに同様の命令を追加する必要があるとします。可能であれば、XHTML ファイルに何も変更せずに使用したいと考えています。ui:compositionこれが不可能な場合は、すべてのファイルでまったく同じ出力テキストを使用したいと思います (したがって、小さなシェル スクリプトでこの行をディレクティブの直後に追加できます)。

JBoss 7.1.X で mojarra 2.1.X バージョンを使用しています (これが役立つかどうかはわかりません)。

ご協力いただきありがとうございます。解決策がわかりません。

4

3 に答える 3

2

#{view.viewId}レンダリングされている現在のビューの名前を取得します。だからあなたは持っているでしょう

<h:outputText rendered="#{myBean.debugXHTML}" value="#{view.viewId}" />

オブジェクトは暗黙的な EL オブジェクトであり、バッキング Beanからプルviewするオブジェクトに似ています。UIViewRootFacesContext

于 2013-04-26T13:40:16.713 に答える