Я хочу получить выбранное значение в SelectOneRadio в Oracle ADF jsff.
Проблема в том, что я не хочу ссылаться каждый раз на ValueChangeListener.
Это создает большую нагрузку на сервер.
есть ли способ получить значение, выбранное в переключателе, и отобразить его в выходном тексте, частично обновив его и все.
Я попробовал несколько блогов, все ссылаясь на использование BackingBean.
заранее спасибо
Вы можете создать привязку к этому компоненту и получить его значение в том же методе, где есть привязка. Например:
<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"/>
и тогда компонент должен выглядеть так:
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());
}
Последнее было бы вызовом этого метода каждый раз, когда вы хотите распечатать/получить выбранное значение.
Вызов 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, и именно так работает технология.