JSF <f:ajax不=“”work =“”correct =“”with =“”tomahawk =“”<t:selectoneradio =“”in =“”layout =“spread”

时间:2016-01-06 15:32:14

标签: ajax jsf tomahawk selectoneradio

=”“

我在使用f时遇到问题:ajax with t:selectOneRadio in layout =”spread“

没有layout =“spread”,这是有效的:

<t:selectOneRadio  id="test" value="#{bean.type}" >
      <f:selectItem itemLabel="yes" itemValue="1"/>
      <f:selectItem itemLabel="no" itemValue="0"/>
      <f:ajax render="label" />
</t:selectOneRadio>


<h:panelGroup id="label" layout="block">
   <h:outputText value="OK" rendered="#{bean.type == 1}"/>
   <h:outputText value="KO" rendered="#{bean.type == 0}"/>
</h:panelGroup>

当我点击收音机时,文本被修改,我的type属性在我的bean中按预期设置。 我的豆是:

@ManagedBean
@ViewScoped
public class Bean {


    private String type;

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

}

但是使用layout =“spread”,我的bean没有设置,setter没有调用,但渲染工作(测试它,检查html,在div中用id =“label”写foo并点击后)由于渲染,文本很清晰。

我的代码布局=“传播”:

    <t:selectOneRadio  id="test" value="#{bean.type}" layout="spread">
          <f:selectItem itemLabel="yes" itemValue="1"/>
          <f:selectItem itemLabel="no" itemValue="0"/>
          <f:ajax render="label" />
    </t:selectOneRadio>

    <div><t:radio id="radio1" for="test" index="0"/></div>
    <div><t:radio id="radio2" for="test" index="1"/></div>


    <h:panelGroup id="label" layout="block">
       <h:outputText value="OK" rendered="#{bean.type == 1}"/>
       <h:outputText value="KO" rendered="#{bean.type == 0}"/>
    </h:panelGroup>

我在版本1.1.14和JSF myfaces 2.2.8

中有tomahawk2.1

0 个答案:

没有答案