我需要af:selectOneChoice填充了来自支持bean的值,默认情况下应选择一个列表中的值(比如index = 5)。我们正在使用Oracle Adf 10。*
有人可以帮我吗?
由于
答案 0 :(得分:1)
要填充列表值,您可以使用:
<af:selectOneChoice value="val3" label="XXXX" id="soc1" >
<f:selectItems value="#{YourBean.values}" id="si1"/>
</af:selectOneChoice>
在YourBean.java中,您将拥有如下方法:
public List<SelectItem> getValues() {
if (list == null) {
list = new ArrayList<SelectItem>();
list(new SelectItem("val1","Label 1"));
list(new SelectItem("val2","Label 2"));
list(new SelectItem("val3","Label 3"));
}
return list;
}
这样您就会在选择列表中看到“标签3”作为默认值。
答案 1 :(得分:0)
要设置默认值,可以使用此:
<af:selectOneChoice label="My Field"
id="MyField" value="#{bindings.MyAttribute.inputValue}"
autoSubmit="true"
binding="#{MyBean.myField}">
<f:selectItems value="#{bindings.MyAttribute.items}"
id="MyFieldItems"/>
</af:selectOneChoice>
请注意,SelectOneChoice字段具有与Java Bean的绑定。我们将使用setter方法设置默认值。
public void setMyField(RichSelectOneChoice myField) {
// since getter/setter methods are called multiple times on
// page load, we need to prevent setting attribute value more than once
if(myField != null && myField.getValue() == null){
ADFUtils.setBoundAttributeValue("MyAttribute", "SomeValue");
}
this.myField = myField;
}
要设置默认索引(例如,从列表中的第一个开始),我们可以使用类似的方法:
public void setMyField(RichSelectOneChoice myField) {
if(myField != null && myField.getValue() == null){
// default value will be 1st from the list
myField.setValue(0);
}
this.myField = myField;
}