データベースから特定の行をCSV形式でダウンロードするためのJavaコードが必要です。私はNetbeans IDEとStructsを使用しています。 strutsのcsvファイルとしてデータベースから特定の行をダウンロード
は、私は私のアクションクラスに次のコードを使用:else if (mode.equalsIgnoreCase("download"))
{
if(null !=request.getParameter("batchid")){
batch_id=request.getParameter("batchid");
}
UploadVO uploadvo= new UploadVO();
filetype = uploadform.getFiletype();
filename = uploadform.getFilename();
try{
String sqls = "select ROW_NUMBER() over(order by id) as row,trx_batch_id,account_id,"
+ "(select name from [user] where id=tt.user_id) as Uploadedby,(SELECT CONVERT(VARCHAR(10),GETDATE(),101)) as date_of_transaction,"
+ "amount,(select description from [_transaction_type] where type=tt.type) as type,note,reverse_transaction_id from"
+ " [transaction] tt "+ "where trx_batch_id= '" +batch_id+ "'" ;
Statement stmts = con.createStatement();
ResultSet rss = stmts.executeQuery(sqls);
while (rss.next()) {
byte[] ba;
Blob b = rss.getBlob("content");
ba = b.getBytes(1, (int) b.length());
uploadvo.setDocfile(ba);
}
}
catch(Exception e){
}
if (filetype.trim().equalsIgnoreCase("text/plain")) {
response.setContentType("text/plain");
} else if (filetype.trim().equalsIgnoreCase("application/ms-doc")) {
response.setContentType("application/ms-doc");
} else if (filetype.trim().equalsIgnoreCase("application/ms-excel")) {
response.setContentType("application/ms-excel");
} else if (filetype.trim().equalsIgnoreCase("pdf")) {
response.setContentType("application/pdf");
} else if (filetype.trim().equalsIgnoreCase("ppt")) {
response.setContentType("application/ppt");
} else if (filetype.trim().equalsIgnoreCase("application/vnd.ms-excel")) {
response.setContentType("application/vnd.ms-excel");
} else if (filetype.trim().equalsIgnoreCase("image/jpeg")) {
response.setContentType("image/jpeg");
} else {
response.setContentType("application/octet-stream");
}
String disHeader = "Attachment; Filename= " + filename + "";
System.out.println(disHeader);
response.setHeader("Content-Disposition", disHeader);
response.setHeader("cache-control", "no-cache");
ServletOutputStream outs = response.getOutputStream();
outs.write(uploadvo.getDocfile());
outs.flush();
outs.close();
return mapping.findForward("success");
}
が、私は、nullポインタ例外を取得しています。
'NullPointerException'のスタックトレースを含めてくださいという
request.getParameter("mode").equals("download")
より"download".equals(request.getParameter("mode")
を書くことは可能性のヌル・ポインタからあなたを節約することに注意してください - それはあなたにエラーがで発生した行番号を教えてくれますし、人々がお答えしますあなたはもっと簡単に質問します。 –