0

af:iterator の "var" を宣言型コンポーネントのビュー ID に割り当てると、"Encountered null from the viewId expression: #{row}" と表示されるという奇妙な問題に直面しています。

そして、ページは空白で表示されます。

私の JSPX コードは次のとおりです。

<af:iterator value="#{pageFlowScope.stageBean.pathList}" var="row">

<af:outputText value="#{row}" id="ot1"/>

<af:declarativeComponent viewId="#{row}"/>

</af:iterator>

Java Bean の getter のコード スニペットは次のとおりです。

public List<String> getPathList()
{
List<String> pathList = new ArrayList<String>();
pathList.add("/Test.jspx");
return pathList;
}

ここで奇妙なのは、出力テキストがパス /Test.jspx を出力しているのに、宣言型コンポーネントがそれを認識していないことです。空白のページとログが表示され、「viewId 式から null が検出されました: #{row}」というエラーが表示されます

#{row} を viewId から削除し、手動で viewId = "/Test.jspx" のように指定すると、ページが正しく表示されます。

誰でもこの問題を解決するのを手伝ってもらえますか?

よろしく、ラケシュ。

4

1 に答える 1

0

Oracle フォーラムでこの問題が発生したことを覚えていますが、宣言型コンポーネントをスタンプできるかどうかはわかりません (これは、af:iterator がその子をレイアウトする方法です)。af:forEach を試すことができますか?

フランク

于 2012-08-30T05:37:27.233 に答える