用于Boolean的JSF或PrimeFaces组件/如何将Boolean与p:triStateCheckbox一起使用
PrimeFaces p:selectBooleanCheckbox和p:selectBooleanButton可以链接到控制器中的基本数据类型布尔变量 我想有一个控制器,它可以链接到一个参考数据类型布尔。它必须能够显示空值、真值和假值 p:triStateCheckbox可以链接到字符串变量,但不能链接到布尔值用于Boolean的JSF或PrimeFaces组件/如何将Boolean与p:triStateCheckbox一起使用,jsf,primefaces,Jsf,Primefaces,PrimeFaces p:selectBooleanCheckbox和p:selectBooleanButton可以链接到控制器中的基本数据类型布尔变量 我想有一个控制器,它可以链接到一个参考数据类型布尔。它必须能够显示空值、真值和假值 p:triStateCheckbox可以链接到字符串变量,但不能链接到布尔值 是否有任何JSF/PrimeFaces UI组件可以在Java控制器中表示引用数据类型Boolean?如果要使用TriStateCheckbox,请编写字符串到Boolean的转换器,
是否有任何JSF/PrimeFaces UI组件可以在Java控制器中表示引用数据类型Boolean?如果要使用TriStateCheckbox,请编写字符串到Boolean的转换器,如中所述: TriStateCheckbox默认为每个状态传递值“0”、“1”、“2”,这可以使用转换器进行自定义 因此,请使用以下方法:
public class TriStateBooleanConverter implements Converter {
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
if (value == null) {
return null;
}
switch (value) {
case "0": return null;
case "1": return Boolean.TRUE;
case "2": return Boolean.FALSE;
default: throw new ConverterException();
}
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object value) {
Boolean bool = (Boolean) value;
if (bool == null) {
return "0";
}
return bool ? "1" : "2";
}
}
另见:
您可以编写一个字符串到布尔值的转换器,并使用三态组件'Should'甚至'must'。。。还有@jasperdevries,它是布尔值而不是布尔值-@Kukeltje我在打电话。。当然,它应该是布尔型的-这也在你的手机上吗-