###前提・実現したいこと
以下のコードで、htmlファイルを作成したい。
###発生している問題・エラーメッセージ
とりあえず、自分なりに調べて、コードを書いてみたが、
ファイルが作成されない、それがなぜなのか、分からない。
###該当のソースコード
SelectionOptions.java
java
1 2 3 4 //--- ファイルpasocon.txtから読み込み 5 request.setCharacterEncoding("UTF-8"); 6 File f = new File(getServletContext().getRealPath("/WEB-INF/pasocon.txt")); 7 BufferedReader in = new BufferedReader(new InputStreamReader( new FileInputStream(f), "Shift_JIS")); 8 String line = ""; 9 String[] str = new String[STR_NUMBER]; 10 // 一行ずつ読み込む 11 while ((line = in.readLine()) != null) { 12 // 読み込んだ文字の前後の空白を取り除く 13 line = line.trim(); 14 // 読み込んだ文字が空白ならば、以降の処理を飛ばす 15 if (line.trim().equals("")) { continue; } 16 // 読み込んだ文字列を空白で分割 17 str = line.split(" "); 18 //--- 読み込んだ文字列から入力フォームを作成 19 response.setContentType("text/html; charset=UTF-8"); 20 System.out.printf("str[0] = %s\n", str[0]); 21 File tmp = new File(getServletContext().getRealPath( String.format("/WEB-INF/%s.html", str[0]))); 22 PrintWriter tmpOut = new PrintWriter(new OutputStreamWriter( new FileOutputStream(tmp), "UTF-8")); 23 tmpOut.println("<html><head><meta charset=\"UTF-8\">"); 24 tmpOut.printf("<title>%s</title></head>", str[0]); 25 tmpOut.printf("<body><h1>%sを選んでください</h1>", str[1]); 26 tmpOut.println("<form action = 'SelectOptions' method = 'post'>"); 27 for (int i = 1; i <= (str.length-1)/2; i++) { 28 tmpOut.printf("<input type = 'radio' name = '%s%d' value = '%d'>", str[0], i, i); 29 tmpOut.printf("%s %s円\n", str[i], str[i+1]); 30 } 31 tmpOut.println("<br />"); 32 tmpOut.println("<input type = 'submit' value = '送る'>"); 33 tmpOut.println("<input type = 'reset' value = 'キャンセル'> </form></body></html>"); 34 } 35 response.sendRedirect("SelectOptionsCat"); 36 } 37} 38
###試したこと
・ファイルから、文字列が正しく読み込めているか、出力して確認したが、読み込めてはいた。
・別のServletで、作成できているであろう、htmlファイルの一つの中身を出力してみたが、なにも出力されなかった。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/24 04:13