サンプルアプリケーションを稼働させるのに苦労しています。私はPrimefaces 3.3M4-SNAPSHOT、JBOSS 7 Webプロファイル(CDIとJSF Mojarra)を使用しています。
私は私のバッキングBeanがあります。
@Named
@ViewScoped
@URLMapping(id = "viewEditor", pattern = "/editor/e", viewId = "/editor/editor.jsf")
public class ViewEditor implements Serializable {
public void deleteNode() {
selectedNode.getChildren().clear();
selectedNode.getParent().getChildren().remove(selectedNode);
selectedNode.setParent(null);
selectedNode = null;
}
}
マイXHTML:
<p:contextMenu for="docs">
<p:menuitem value="View" update="documentPanel"
icon="ui-icon ui-icon-search" oncomplete="documentDialog.show()" />
<p:menuitem value="Delete"
actionListener="#{viewEditor.deleteNode}" update="docs"
icon="ui-icon ui-icon-close" />
</p:contextMenu>
私は私のアプリを実行すると、これは私が手例外です:
javax.el.ELException: /editor/editor.xhtml: The class 'application.ViewEditor$Proxy$_$$_WeldClientProxy' does not have the property 'deleteNode'.
com.sun.faces.facelets.compiler.AttributeInstruction.write(AttributeInstruction.java:94)
com.sun.faces.facelets.compiler.UIInstructions.encodeBegin(UIInstructions.java:82)
com.sun.faces.facelets.compiler.UILeaf.encodeAll(UILeaf.java:183)
javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
誰が来たのを私がしたのと同じ問題で?
ここに情報がありません。あなたはおそらくあなたが言うよりも多くを使用します。この@ViewScopedはどこから来ますか? Seam 3面あなたはprettyfacesアノテーションも持っていると思います。 エラーは、elがプロパティを探していることを示唆しているので、 "getDeleteNode()"を呼び出すようにしてください。 JSFページで「deleteNode」が他に出現していないことは確かですか? 完全な情報やギブツリンクを送信できますか? –
こんにちはアントワーヌ、私の知る限り、@ Viewscopedはee6アノテーションです:http://download.oracle.com/javaee/6/api/javax/faces/bean/ViewScoped.html顔が使われているかどうかわかりませんjboss 7のために用意されています。私はここで紹介するプライムフェイスの説明にあるサンプルアプリケーションを作成しようとしています。http://www.primefaces.org/showcase-labs/ui/treeTableContextMenu.jsf –
はい@ViewScopedはJSF仕様ですが、CDIでは使用できません。表示しているコードは一貫性がなく、ビュースコープ内にこのBeanを必要とせず、要求内でもBeanを持つだけで動作します。変更された場合...動作しません。 –