我在单击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方法。它只是简单地用于在页面中显示某些内容。在满足您需求的同时,您可以使用CommandButton
、CommandLink
或其他组件,但这一切都取决于您的需求等。