Jsf 2 p:selectOneButton默认值
我有一个使用Jsf 2 p:selectOneButton默认值,jsf-2,primefaces,Jsf 2,Primefaces,我有一个使用p:selectOneButton的简单用例 我基本上希望选中一个选项=true,但允许用户更改。我尝试了不同的组合,只为一个设置了值,但没有更改。 伪代码如下: <p:selectOneButton id="options" value="#{buttonBean.number}"> <f:selectItem default="true" itemLabel="Option 1" itemValue="1" /> <f:selectItem item
p:selectOneButton
的简单用例
我基本上希望选中一个选项=true,但允许用户更改。我尝试了不同的组合,只为一个设置了值,但没有更改。
伪代码如下:
<p:selectOneButton id="options" value="#{buttonBean.number}">
<f:selectItem default="true" itemLabel="Option 1" itemValue="1" />
<f:selectItem itemLabel="Option 2" itemValue="2" />
<f:selectItem itemLabel="Option 3" itemValue="3" />
</p:selectOneButton>
干杯你可以试试:
<f:selectItem noSelectionOption="true"/>
将buttonBean中的number属性设置为“1”。Primefaces将显示与该值相对应的项作为默认值,并在选择其他项时对其进行更改 豆子: 要根据更改更新视图,您还可以放置一个侦听器来更新表单:
<h:form id="form-id">
....
<p:selectOneButton id="options" value="#{buttonBean.number}">
<f:selectItem default="true" itemLabel="Option 1" itemValue="1" />
<f:selectItem itemLabel="Option 2" itemValue="2" />
<f:selectItem itemLabel="Option 3" itemValue="3" />
<p:ajax update=":form-id"/>
</p:selectOneButton>
....
这将允许您使用按钮触发UI逻辑,如显示或隐藏字段。因为我在getter中初始化后调用了我的。情况不同,请测试。我们并不总是初始化后构造中的每个值。然后,在用户提交请求后,您可以运行另一个setMethod来设置selectOneButton中的值,我实际上是在代码中这样做的
public String getNumber () {
number = "10"; // default value
methodThatInitializesDefaults(); // alternatively
return number;
}
天哪。现在我觉得自己很傻,我以为我开始尝试在bean中使用默认值,但我一定是搞砸了:-)noSelectionOption对这个组件不起作用。这(从根本上)与其他answesr有何不同?
private String number = "1";
<h:form id="form-id">
....
<p:selectOneButton id="options" value="#{buttonBean.number}">
<f:selectItem default="true" itemLabel="Option 1" itemValue="1" />
<f:selectItem itemLabel="Option 2" itemValue="2" />
<f:selectItem itemLabel="Option 3" itemValue="3" />
<p:ajax update=":form-id"/>
</p:selectOneButton>
public String getNumber () {
number = "10"; // default value
methodThatInitializesDefaults(); // alternatively
return number;
}