Класс .. $ Proxy $ _ $$ _ WeldClientProxy 'не имеет свойства' ... ' - PullRequest
6 голосов
/ 29 октября 2011

Так что я изо всех сил пытаюсь заставить пример приложения работать.Я использую Primefaces 3.3M4-SNAPSHOT, веб-профиль JBOSS 7 (CDI и JSF Mojarra).

У меня есть бин-бэк:

@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)

Кто-нибудь сталкивался с той же проблемой, что и я?

Ответы [ 2 ]

5 голосов
/ 31 октября 2011

Хорошо, получил ответ. Оказывается, пространство имен для простых лиц изменилось с

xmlns:p="http://primefaces.prime.com.tr/ui"

до

xmlns:p="http://primefaces.org/ui"

Изменяя пространство имен, все работало. Вау, это было неуловимо, чтобы выследить.

0 голосов
/ 01 апреля 2014

В моем случае причина была совершенно иной.

Я скопировал класс, включающий поле serialVersionUID:

private static final long serialVersionUID = 5443351151396868724L;

, поэтому у меня было два разных класса и объекты с одинаковым serialVersionUID, и это былоключ к решению проблемы.

...