1

我想在 Oracle ADF jsff 的 SelectOneRadio 中获取选定的值。

问题是我不想将每次点击都引用到 ValueChangeListener。

这会产生大量的服务器负载。

有什么方法可以获取单选按钮中选择的值,并通过部分更新它和全部来将其显示在输出文本中。

我尝试了多个博客都提到了 BackingBean 的使用。

提前致谢

4

2 回答 2

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());
}

最后一件事是每次想要打印/获取所选值时调用此方法。

于 2014-06-25T22:37:49.590 回答
0

对 a 的调用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,这是该技术的工作方式。

于 2014-06-25T19:40:47.140 回答