0
我有一個SQL語句返回的ResultSet。我希望使用ADF迭代器顯示結果。但是,<af:iterator>
只接受CollectionModel
。我使用了ResultSetDataModel
類,但我不明白將哪些字段放入<af:iterator>
值屬性中。 任何意見將不勝感激。如何在ADF迭代器中使用ResultSet的結果?
我有一個SQL語句返回的ResultSet。我希望使用ADF迭代器顯示結果。但是,<af:iterator>
只接受CollectionModel
。我使用了ResultSetDataModel
類,但我不明白將哪些字段放入<af:iterator>
值屬性中。 任何意見將不勝感激。如何在ADF迭代器中使用ResultSet的結果?
您可以遍歷ResultSet來創建和填充java.util.List的任何實現。一旦你有了這個List,你必須爲該List創建一個getter,然後將<af:iterator>
的value屬性與List的getter綁定。
class MyManagedBean {
private List myData;
public void initializeData(){
ResultSet rs = getResultSetFromDB();
while(rs.next()){
myData = new ArrayList<>();
myData.add(rs.getString("some_column"));
}
}
public List getMyData(){
return myData;
}
}
,然後在JSP:
<af:iterator value="#{viewScope.myBean.myData}" var="data">
<af:outputText value="#{data}" />
</af:iterator>
謝謝你的方法。我想知道是否有任何方法可以避免將額外的迭代從ResultSet轉換爲List?我的查詢需要<1秒才能運行,但迭代需要3秒才能運行,我希望能夠消除它。 – user1742188
嘗試將ViewObject與包含SQL查詢的ViewObject一起使用。然後嘗試使用VO創建迭代器。 – MohamedSanaulla