gpt4 book ai didi

jsf - 如何绑定(bind)p :selectBooleanCheckbox to a controller method

转载 作者:行者123 更新时间:2023-12-04 14:32:33 25 4
gpt4 key购买 nike

我要绑定(bind)<p:selectBooleanCheckbox>到我的 Controller 方法。尝试绑定(bind)时出现以下错误。还有其他方法吗?

Property 'calculateBooleanValue' not found on type tr.controller.MyController

这是我的看法
<p:datatable var="dataRow" ....>
<p:selectBooleanCheckbox value="#{myController.calculateBooleanValue(dataRow)}" />

我的 Controller
public boolean calculateBooleanValue(Data data) {

//There are some calculations with data and returns some boolean value acc. to this data


}

最佳答案

value属性必须表示一个值表达式。 IE。它必须绑定(bind)到由真正的 javabean getter 和 setter 表示的属性。您不应使用带括号的方法表达式语法,这不是有效的值表达式语法。

因此,所以:

<p:selectBooleanCheckbox value="#{myController.booleanValue}" />


private boolean booleanValue;

@PostConstruct
public void init() {
booleanValue = true;
}

public boolean isBooleanValue() {
return booleanValue;
}

public void setBooleanValue(boolean booleanValue) {
this.booleanValue = booleanValue;
}

如果您打算在每次单击复选框时执行一些“ Controller 方法”(如您自己所说),则添加 <p:ajax>与听众:
<p:selectBooleanCheckbox value="#{myController.booleanValue}">
<p:ajax listener="#{myController.changeBooleanValue}" />
</p:selectBooleanCheckbox>


public void changeBooleanValue() {
System.out.println("Current boolean value is: " + booleanValue);
// ...
// Do your job here.
}

关于jsf - 如何绑定(bind)p :selectBooleanCheckbox to a controller method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18961954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com