我有一个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