Я хочу получить выбранное значение в SelectOneRadio в Oracle ADF jsff.
Проблема в том, что я не хочу ссылаться на каждый щелчок на ValueChangeListener.
Это создает большую нагрузку на сервер.
есть ли способ получить значение, выбранное в переключателе, и отобразить его в выходном тексте, частично обновив его и все.
Я пробовал несколько блогов, и все они ссылались на использование BackingBean.
заранее спасибо
Ответ 1 · Endrik
Вы можете создать привязку к этому компоненту и получить его значение в том же методе, что и привязка. Например:
<af:selectOneRadio value="#{bindings.Deptno.inputValue}" label="Select Department"
required="true" shortDesc="#{bindings.Deptno.hints.tooltip}"
id="soc1" autoSubmit="true" binding="#{managedBeanName.selectOneRadio}>
<f:selectItems value="#{bindings.Deptno.items}" id="si1"/>
and then the bean should look like this:
import oracle.adf.view.rich.component.rich.input.RichSelectOneRadio
public class ManagedBeanName{
private RichSelectOneRadio radio;
//getters/setters for 'radio' here
public void printValue(){
System.out.println(radio.getValue());
}
Последним будет вызов этого метода каждый раз, когда ВЫ хотите напечатать/получить выбранное значение.
Ответ 2 · Sydney
Вызов ValueChangeListener не должен перегружать сервер.
Пытаться
<af:selectOneRadio value="#{bean.aValue}" id="sor1" autoSubmit="true">
<f:selectItem itemLabel="Option1" itemValue="1"/>
<f:selectItem itemLabel="Option2" itemValue="2"/>
<f:selectItem itemLabel="Option3" itemValue="3"/>
</af:selectOneRadio>
<af:outputText value="#{bean.aValue}" partialTriggers="sor1"/>
Нет ValueChangeListener, но все же поездка на сервер. Вы не можете этого избежать. ADF основан на JSF, и именно так работает технология.