我想在Oracle ADF jsff中的SelectOneRadio中获取所选值。
问题是我不想将每次点击都引用到ValueChangeListener。
这会造成很多服务器负载。
有没有办法在单选按钮中选择值,并通过部分更新它来显示输出文本..
我尝试了多个博客,都指的是使用BackingBean。
提前致谢
答案 0 :(得分:0)
对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,这是该技术的工作方式。
答案 1 :(得分:0)
您可以创建对该组件的绑定,并在绑定所在的同一方法中获取它的值。例如:
<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"/>
然后bean应该是这样的:
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());
}
每次你想要打印/获取所选值时,最后一件事就是调用此方法。