带有属性绑定的JSF panelGroup正在复制内部组件

带有属性绑定的JSF panelGroup正在复制内部组件,jsf,primefaces,jsf-2.2,Jsf,Primefaces,Jsf 2.2,首先,对不起我的英语。我是巴西人,我有个问题。当我使用组件全局消息时,有一个panelGroup正在复制验证消息。看: 这是我的页面xhtml: Facelet标题 Facelets的你好 这就是我的ManagedBean: @ManagedBean @ViewScoped public class TesteMB implements Serializable { public static final long serialVersionID = 1L; priva

首先,对不起我的英语。我是巴西人,我有个问题。当我使用组件全局消息时,有一个panelGroup正在复制验证消息。看:

这是我的页面xhtml:


Facelet标题
Facelets的你好

这就是我的ManagedBean:

@ManagedBean
@ViewScoped
public class TesteMB implements Serializable {

    public static final long serialVersionID = 1L;

    private HtmlPanelGroup panel;
    private String field;

    public TesteMB() {

    }

    public void submit() {
        System.out.println("Form submited!!!");
    }

    // gets and sets

}
最后,它将同一条消息打印两次。看:

查看JSF在任何无周期的RENDER_响应中的生命周期,有4个组件。这里有人经历过吗

已确定此问题是从版本2.1.22开始出现的。我不知道为什么。
感谢所有尝试过的人。

组件实例是请求范围。您不应该将它们绑定到范围更广的bean。将它们绑定到请求范围的bean,并在必要时将视图范围的bean注入其中

一般来说,当使用功能强大的视图技术(如Facelets)时,将JSF组件绑定到bean属性是一种巨大的代码味道。无论您认为通过这种方式将组件绑定到bean属性来解决什么功能需求,都很可能不使用绑定就可以解决

另见:

组件实例是请求范围。您不应该将它们绑定到范围更广的bean。将它们绑定到请求范围的bean,并在必要时将视图范围的bean注入其中

一般来说,当使用功能强大的视图技术(如Facelets)时,将JSF组件绑定到bean属性是一种巨大的代码味道。无论您认为通过这种方式将组件绑定到bean属性来解决什么功能需求,都很可能不使用绑定就可以解决

另见:

当前页面中是否包含任何其他表单或其他页面,代码中的
在哪里?为什么要绑定HtmlPanelGroup?是否要在运行时将组件动态添加到panelgroup?否,@BholaVishwakarma,我没有其他表单或页面。只有那个!你能用英语说出这个错误吗?你在当前页面中是否包含了其他表单或其他页面,代码中的
在哪里?为什么要绑定HtmlPanelGroup?是否要在运行时将组件动态添加到panelgroup?否,@BholaVishwakarma,我没有其他表单或页面。只有那个!你能用英语说出那个错误吗