1

@ViewScoped にアクセスするために、JSF 2.1.7 と Primefaces 3.2、CDI、および Apache MyFaces CODI を使用しています。

すべてが問題なく動作していますが、ui:param を介して Bean を別のページに渡し、その Bean を特に ap:ajax 要求で使用しようとすると、「ターゲットに到達できません。識別子 'bean' が解決されました。ヌル"

<ui:include src="page.xhtml">
   <ui:param name="bean" value="#{formBean}" />
</ui:include>

次に、page.xhtml でこれを実行しようとします。

<p:gmap zoom="15" type="HYBRID" model="#{bean.simpleModel}">
   <p:ajax event="markerDrag" listener="#{bean.onMarkerDrag}" />
</p:gmap>

bean.simpleModel への最初の呼び出しは適切に解決されます。bean.onMarkerDrag への ajax 呼び出しはそうではありません。

formBean の私の宣言は @Named("formBean"), @ViewScoped です。

何か案は?

4

3 に答える 3

2

私はちょうど同じ問題を抱えていました。私の場合、私は

<p:commandButton value="Edit" icon="ui-icon-pencil" actionListener="#{bean.edit}" />

経由で含まれるテンプレート内で<ui:include>、同じエラーメッセージが表示されました。

興味深いことに、次の代替手段が機能しました。

actionListener="#{bean.edit()}"
action="#{bean.edit}"
action="#{bean.edit()}"

多分あなたは試してみるべきです

<p:ajax event="markerDrag" listener="#{bean.onMarkerDrag()}" />

つまり、メソッド式に括弧を追加します。

于 2013-02-21T00:05:52.380 に答える
0

@ViewScopedはCDIには注意が必要であり、完全な互換性はありません。@SessionScopedで試すことを検討してください。

それが機能する場合は、@ ViewAccessScopedを試してください(Codiを使用しているため)。そのスコープは基本的に、CDIの使用にViewScopeを適合させます。

まだ問題がありますか、それともすでに使用していますか?次に、@ SessionScopeを試して、何が起こったかを報告します。

于 2012-10-27T20:25:12.297 に答える
0

@ViewScoped のルールに反するため、機能しません

于 2012-10-28T19:57:32.107 に答える