2013-10-25 63 views
0

Jdev版本:11.1.1.7绑定动态生成组件

我从Java bean创建数据控件。我使用数据控件属性绑定jspx页面。

在该页面中,我动态创建了组件(forEach循环)。

问题是组件只创建(递增),但绑定值没有不同。

代码:

豆:

public class ProposalBean 
{ 
    private String name; 
    private String age; 

    public ProposalBean() 
    { 
    super(); 
    } 

    public void setName(String name) 
    { 
    this.name = name; 
    } 

    public String getName() 
    { 
    return name; 
    } 

    public void setAge(String age) 
    { 
    this.age = age; 
    } 

    public String getAge() 
    { 
    return age; 
    } 
} 

JSPX:

<af:form id="f1"> 

    <af:panelGroupLayout id="pgl1"> 

     <af:panelTabbed id="pt1"> 

     <af:forEach var="var" varStatus="vs" begin="1" end="3"> 

      <af:showDetailItem text="Tab #{vs.index}" id="sdi1"> 

      <af:inputText value="#{bindings.name.inputValue}" 

          label="#{bindings.name.hints.label}" 

          required="#{bindings.name.hints.mandatory}" 

          columns="#{bindings.name.hints.displayWidth}" 

          maximumLength="#{bindings.name.hints.precision}" 

          shortDesc="#{bindings.name.hints.tooltip}" 

          id="it1"> 

       <f:validator binding="#{bindings.name.validator}"/> 

      </af:inputText> 

      <af:inputText value="#{bindings.age.inputValue}" 

          label="#{bindings.age.hints.label}" 

          required="#{bindings.age.hints.mandatory}" 

          columns="#{bindings.age.hints.displayWidth}" 

          maximumLength="#{bindings.age.hints.precision}" 

          shortDesc="#{bindings.age.hints.tooltip}" 

          id="it2"> 

       <f:validator binding="#{bindings.age.validator}"/> 

      </af:inputText> 

      </af:showDetailItem> 

     </af:forEach> 

     </af:panelTabbed> 

     <af:commandButton text="submit" id="cb1" action="next"/> 

    </af:panelGroupLayout> 

    </af:form> 

注:在forEach循环到底是动态的。

+0

作为@Nagh说你缺少你的forEach严重的属性,它是项目属性,它应该指向你的迭代器绑定 –

回答

0

因为绑定是将视图连接到模型的唯一方式,所以没有魔法。

我假设你有一些数据源与迭代器。 你必须在你的foreach循环中使用这个数据源迭代器。在某些情况下,您可以使用model作为数据源或bean。

检查此样本: