このようなものをお探しですか。
<rich:dataTable value="#{aBean.aList}" var="_var">
<c:forEach var="column" items="#{myBean.columnsList}" >
<rich:column>
<f:facet name="header">#{column.headerName}</f:facet>
Hello!
</rich:column>
</c:forEach>
</rich:dataTable>
あなたの豆はこのようになります。
public class MyBean {
List<String> months = new ArrayList<String>();
List<Column> columnsList = new ArrayList<Column>();
String currentMonth = "Apr";
public MyBean() {//Adding months
months.add("Jan");
months.add("Feb");
months.add("Mar");
months.add("Apr");
months.add("May");
}
public List<Column> getColumnsList() {//Building columns
for(int i = months.indexOf(currentMonth); ;) {
Column c = new Column(months.get(i));
columnsList.add(c);
if(i == months.size() - 1) {
i = 0;
} else {
i++;
}
if(i == months.indexOf(currentMonth)) {
break;
}
}
return columnsList;
}
public class Column {
String headerName;
Column(String headerName) {
this.headerName = headerName;
}
public String getHeaderName() {
return headerName;
}
}
}
変数の値を変更し、currentMonth
期待どおりに動作するかどうかを確認します。
編集:
名前空間をインポートする必要があります
xmlns:c="http://java.sun.com/jstl/core"