JSF - 是否可以使用c:forEach或ui:repeat来通过反射列出一些bean属性?

时间:2014-01-07 20:19:36

标签: jsf facelets uirepeat

假设我想做这样的事情

<ui:repeat value="#{myMB.fields}" var="field">
<p:outputLabel for="#{field}" value="#{field}:" style="width:100px;"/>
<p:outputLabel id="#{field}" value="#{my.someobject.#{field}}"/>
</ui:repeat>

“fields”是某些bean的属性(可以使用反射检索或不使用反射)

是否可以使用c:forEach或ui:repeat?

来完成

1 个答案:

答案 0 :(得分:0)

你应该能够使用ui:重复没问题:

<ui:repeat value="#{myMB.fields}" var="field">
  <p:outputLabel for="#{field.some_id}" value="#{field.some_value}:" style="width:100px;"/>
  <p:outputLabel id="#{field.some_id}" value="#{my.someobject.#{field.value}}"/>
</ui:repeat>

public class myMB {

  List<Field> fields = new ArrayList<Field>();

  // Constructor
  public MyMB() {
    // Set some values in fields 
  }

  // Getters and Setters
}

public class Field {
    int some_id = 10;
    String some_value = "Something"

    // Getters and setters
  }

这就是你问的问题吗?