JSF. Можно ли перечислить некоторые атрибуты bean-компонента с помощью отражения, используя c: forEach или ui: repeat?

Предположим, я хотел бы сделать что-то вроде этого

<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>

«поля» — это атрибуты некоторого bean-компонента (можно получить с помощью отражения или нет)

можно ли это сделать с помощью c:forEach или ui:repeat?


person Community    schedule 07.01.2014    source источник


Ответы (1)


Вы должны быть в состоянии сделать с ui:repeat без проблем:

<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
  }

Это то, что вы спрашиваете?

person Catfish    schedule 07.01.2014
comment
Признаюсь, я никогда не пробовал, потому что не думал, что это возможно :-) спасибо - person ; 08.01.2014