onclick for p:outputLabel 适用于加载/刷新页面,但在单击



我在单击Label时调用bean方法时遇到了一些问题。当页面加载或刷新时,会调用单击处理程序函数pokus(),但当单击标签时不会调用。

我的网页的一部分:

<h:form id="pokus">
  <p:outputLabel id="pokus2" value="klikni" onclick="#pozadavkyBean.pokus(5)}"/>
</h:form>

以及bean中的一种方法:

public void pokus(int i){
    System.out.printf("kliknuto sloupec:%d",i);
}

我也试过:

<p:ajax event="click" listener="....

具有相同的结果-方法在加载/刷新时调用,但在单击时不调用

还尝试了其他事件:mousedown、mouseup。。。。具有相同的结果

使用PrimeFaces 5.0

如果你要查看Primeface关于标签outputLabel的官方文件。你可以很容易地获得用于的属性onclick

单击组件时执行的客户端回调。

但在这里,您尝试直接从onclick属性运行ManagedBean方法,而onclick用于调用JavaScript函数。

正如@Mahendran Ayyarsamy Kandiar所提到的,它的简单之处outputLabel不用于调用任何bean方法。它只是简单地用于在页面中显示某些内容。在满足您需求的同时,您可以使用CommandButtonCommandLink或其他组件,但这一切都取决于您的需求等。

最新更新