Así que estoy luchando para que funcione una aplicación de muestra. Estoy utilizando Primefaces 3.3M4-SNAPSHOT, perfil web JBOSS 7 (CDI y JSF Mojarra).
que tienen mi apoyo frijol:
@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;
}
}
Mi 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>
Cuando ejecuto mi aplicación, esto es la excepción consigo:
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)
¿Alguien vienen en el mismo problema que yo?
Falta información aquí. Probablemente uses más de lo que dices. ¿De dónde viene este @ViewScoped? Caras de Seam 3, supongo, ya que también tienes una anotación de caras bonitas. El error que recibe sugiere que el estaba buscando una propiedad, intente llamar a "getDeleteNode()". ¿Estás seguro de que no tienes otra aparición de "deleteNode" en la página JSF? ¿Podría enviar información completa o un enlace de Github? –
Hola Antoine, que yo sepa, @Viewscoped es una anotación ee6: http://download.oracle.com/javaee/6/api/javax/faces/bean/ViewScoped.html No estoy seguro de si parece que se usa faces fuera de la caja para jboss 7. Estoy simplemente tratando de crear la aplicación de muestra como se describe en el escaparate de Primefaces aquí http://www.primefaces.org/showcase-labs/ui/treeTableContextMenu.jsf –
Sí @ViewScoped está en Especificación JSF pero no en CDI. El código que está mostrando no es coherente y solo funciona porque no necesita este bean en ViewScope y que también funcione en la solicitud. Si cambia ... No funcionará. –