我有疑问。
我有一个数据库列,如jan,feb,mar到dec,每列都有不同的值。
我将这些值作为jan,feb等加载到Java对象中。在UI,JSP中,我遍历此对象列表并将列显示为jan,feb等。
但现在我的要求是根据当月显示。
例如。当前月份是11月,因此要显示的列是11月,12月,1月,2月......直到10月。所以现在列的顺序根据当前月份而变化。我该怎么办?对逻辑的任何帮助都会受到赞赏吗?
此致
答案 0 :(得分:0)
你在找这样的东西。
<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"