我目前正在使用JSF和Primefaces制作时间表项目。 我正在努力使用p:selectBooleanButton,我想根据用户检查的内容调用bean中的方法:
<p:column>
<p:selectBooleanButton id="token1" value="#{UserSession.getDisponibilitateGenerala(1)}"
onLabel="Da" offLabel="Nu"
onchange="#{UserSession.toogleDisponibilitateGenerala(1, value)}"/>
</p:column>
和我的豆子:
public boolean getDisponibilitateGenerala(int token) {
System.out.println("getDisponibilitateGenerala " + token);
return utilizator.getDisponibiltateGenerala().contains((Integer) token);
}
public void toogleDisponibilitateGenerala(int token, boolean value) {
//value alway comes false, no matter what is selected in the selectBooleanButton
System.out.println("toogleDisponibilitateGenerala " + token + " value: " + value);
utilizator.getDisponibiltateGenerala().add((Integer) token);
}
请注意,我不想使用常规bean,因为我需要填充200个布尔单元格,我选择了基于令牌的逻辑。 所以最大的问题是如何使用int(令牌id)和基于p的状态的布尔参数调用onchange方法:selectBooleanButton