我有一個jsp(itemSearch.jsp)來顯示基於用戶提交的所有項目。一旦用戶提交我打電話的Java方法提交的所有參數,使用JDBC連接如何在Java應用程序中將數據寫入CSV文件
public ArrayList getProcessedItems(1, itemID, startPage, endPage, fromDate, toDate) {
ArrayList p_items=new ArrayList();
Connection connection = null;
String sqlStatement = null;
try {
connection = DBManager.getConnection(DBManager.EPM_DATASOURCE_NAME);
if(set==1) {
sqlStatement = "SELECT I.lineid, I.date,S.STATUS, S.DATETIME, ";
sqlStatement += "S.TOTAL FROM ITEM I, LITEM LI, ITEM_STATUS S ";
sqlStatement += "WHERE I.LINEID=LI.ID AND I.ITEMID=? ";
if (fromDate !=null && toDate!=null){
SimpleDateFormat fd = new SimpleDateFormat("MM/dd/yyyy");
String fromdateString = fd.format(fromDate);
String todateString = fd.format(toDate);
sqlStatement += " AND I.PDATE BETWEEN RANGE_DATE('" + fd.format(fromDate) + "','MM/DD/YYYY') AND RANGE_DATE('" + fd.format(toDate) + "','MM/DD/YYYY')";
}
sqlStatement += "ORDER BY I.PDATE DESC";
}
PreparedStatement ps = connection.prepareStatement(paginationBegin+sqlStatement+paginationEnd);
ps.setInt(1, ID);
ResultSet rs = ps.executeQuery();
while(rs.next()) {
if(items.contains(new Integer(rs.getInt("itemid")))==false) {
items.add(new Integer(rs.getInt("itemid")));
ReportItem ri = new ReportItem();
ri.setLineItemID(rs.getInt("lineid"));
ri.setTransmitted(rs.getTimestamp("idate"));
ri.setStatus(rs.getString("status"));
ri.setStatusDateTime(rs.getTimestamp("s_datetime"));
p_items.add(ri);
}
}
rs.close();
ps.close();
} catch (SQLException e) {
log("ERROR");
} catch (NamingException e) {
log("ERROR");
} finally {
DBManager.closeConnection(connection);
}
return p_items;
}
getProcessedItems我正在讀取數據如下圖所示
submitItems = itemManager.getProcessedItems(1, itemID, startPage, endPage, fromDate, toDate);
這兒,這可以正確顯示數據itemSearch.jsp但現在我想添加CSV文件(jsp中的超鏈接),其中包含文件中顯示的數據供下載。
即
<div align="right" class="TableRows" style="padding-right:10px"><a href="" class="TableRowLinks">CSV File</a></div>
問題 1.如何從查詢結果CSV文件? 2.如何在jsp文件中提供相同的鏈接?
我正在尋找解決方案,我可以生成/寫入數據int o在我的JDBC查詢之後的csv,以便我可以避免創建pojo並存儲我的結果集。 – 2011-12-29 03:36:11