Vì vậy, tôi đang vật lộn với việc ứng dụng mẫu để hoạt động. Tôi đang sử dụng Primefaces 3.3M4-SNAPSHOT, hồ sơ web JBOSS 7 (CDI và JSF Mojarra).
Tôi có đậu ủng hộ tôi:
@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 của tôi:
<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>
Khi tôi chạy ứng dụng của tôi, đây là ngoại lệ tôi nhận được:
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)
Có ai đi trên cùng một vấn đề như tôi đã làm?
Thiếu thông tin ở đây. Bạn có thể sử dụng nhiều hơn những gì bạn nói. @ViewScoped này đến từ đâu? Seam 3 Khuôn mặt tôi đoán vì bạn có chú thích khá tốt. Lỗi bạn nhận được đề nghị el đang tìm kiếm một tài sản vì vậy hãy thử gọi "getDeleteNode()". Bạn có chắc chắn bạn không phải là một sự xuất hiện của "deleteNode" trong trang JSF? Bạn có thể gửi thông tin đầy đủ hoặc liên kết github không? –
Hi Antoine, theo hiểu biết của tôi nó @Viewscoped là chú thích ee6: http://download.oracle.com/javaee/6/api/javax/faces/bean/ViewScoped.html Tôi không chắc liệu có vẻ như khuôn mặt được sử dụng hay không ra khỏi hộp cho jboss 7. Tôi chỉ đơn giản là cố gắng để tạo ra các ứng dụng mẫu như mô tả trong các showcase tại đây http://www.primefaces.org/showcase-labs/ui/treeTableContextMenu.jsf –
Có @ViewScoped là trong JSF spec nhưng không có trong CDI. Mã bạn đang hiển thị không nhất quán và chỉ hoạt động vì bạn không cần bean này trong chế độ xem và cũng có trong mã yêu cầu. Nếu nó thay đổi ... Nó sẽ không hoạt động. –