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 では、ループの終了は動的です。

4

1 に答える 1

0

バインディングはビューをモデルに接続する単なる方法であるため、魔法はありません。

イテレータを持つデータソースがあると仮定します。foreach ループでこのデータソース イテレータを使用する必要があります。また、場合によってはモデルをデータソースまたは Bean として使用できます。

このサンプルを確認してください:

于 2013-10-25T08:47:17.263 に答える