前提・実現したいこと
JSPにて、DBから取得した値を.txt形式で出力するプログラムを
作成しています。しかしながら、実際にプログラムを実行して出力された
ファイルには、¥tがそのまま文字として出力されます。
該当のソースコード
<%@ page contentType="application/octet-stream; charset=UTF-8"
import = "java.sql.,javax.naming.,javax.sql.,java.text."%>
<%
response.setHeader("Content-Disposition", "attachment; filename = d1.txt");
String table = request.getParameter("table").replace("'", "''");
Connection db = null;
PreparedStatement ps = null;
ResultSet rs = null;
try{
Context context = new InitialContext();
DataSource ds = (DataSource)context.lookup("java:comp/env/jdbc/selfjsp");
db = ds.getConnection();
ps = db.prepareStatement("SELECT * FROM " + table);
rs = ps.executeQuery();
ResultSetMetaData meta = rs.getMetaData();
for(int i =1;i <= meta.getColumnCount(); i++){
out.print(meta.getColumnName(i));
out.print("¥t");
}
out.print(System.getProperty("line.separator"));
while(rs.next()){
for(int i =1; i <=meta.getColumnCount(); i++){
out.print(rs.getString(i) + System.getProperty("file.separator"));
out.print("¥t");
}
out.print(System.getProperty("line.separator"));
}
} catch(Exception e){
e.printStackTrace();
} finally {
try{
if(rs != null){rs.close();}
if(ps != null){ps.close();}
if(db != null){db.close();}
} catch (Exception e) {}
}
%>
Java,Jsp
試したこと
もともと改行コード(¥n)についても、同様の状態でしたが、System.getPropertyメソッドで、
改行を指定することで、出力時、改行コードとして認識されるようになりました。
補足情報(FW/ツールのバージョンなど)
MacOS Mojave にて、eclipseを利用してソースコードを記述しています。
回答1件
あなたの回答
tips
プレビュー