質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

1回答

4402閲覧

JSPとHTMLでtextareaに入力された文字をtext形式でダウンロードしたい

ORERYU

総合スコア6

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2014/11/04 13:04

NetbeansでWebアプリケーション製作をしている初心者です。
HTMLとJSPによるファイルの書き出し、ダウンロードについての質問です。
HTMLのtextarea内に記述した"文字だけ"をtext形式で書き出したいと思っています。
調べてみた所、FileWriterを使って何かをする必要があると思うのですが、どう記述したらよいのかわかりません。

※以下ソースコードです。 必要な部分だけ記載しています。
----HTML----

<form name ="text" method="post" action="test.jsp"> <textarea name="text1">テキスト1</textarea> <input type="submit" name="bt1" value="Check!"> </form> ----test.jsp---- <% request.setCharacterEncoding("UTF-8"); String test = request.getParameter("text1"); %> <%=test%> <form name ="DL" method="post" action="download.jsp"> <input type="submit" name="bt1" value="DOWNLOAD"> </form> ------------ この時点で<%=test%>によって、test.jspでは「テキスト1」と表示されています。

textareaに何かを入力し、jspのDOWNLOADボタンを押した後、
test.jspで入力した文字を表示することはできました。

このtest.jsp内で、textareaに入力された文字をtext形式で書き出し・ダウンロード
するためには、この後どのように書いていけばよろしいのでしょうか。
また、別のjspファイルやjavaのファイルを用意しないとできないのでしょうか。

Webで調べても少し難解な事ばかりで、戸惑っています。どうか皆様のお力添えをよろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

どうしたいのか不明瞭ですが、
ダウンロードと言うのはブラウザ的に直接ダウンロードとして認識される形式にしたいということでしょうか?
Check!のクリックで直接ダウンロードにしたいのであれば、test.jspではHTMLを書かずに、Content-Typeヘッダがtext/plain;charset=utf-8でさらにContent-Dispositionヘッダなどを設定して、テキストを直接出力すればできるのではないかと思います。
ほかにも、test.jspのHTMLの中で、データURIスキームを使って、テキストファイル自体をリンクに埋め込むという方法もあります。

投稿2014/11/05 01:35

TaMaMhyu

総合スコア1356

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ORERYU

2014/11/05 02:04

質問の記載ミスです。申し訳ございません。 test.jsp内に記述しているDOWNLOADボタンを押すと、 <%=test%> の中身に入ってる文字がテキスト形式で出されるようなイメージです。
TaMaMhyu

2014/11/05 02:11

download.jspにtestのパラメータを送信して、download.jspで <%@ page contentType="text/html;charset=utf-8" %> のような記述で生のテキストをJSPから出力する、 または、 test.jspのDOWNLOADをリンクにして、リンクの中身を "data:text/plain;charset=utf-8," + URLエンコードしたtext とするとダウンロードになると思います。
TaMaMhyu

2014/11/05 02:12

間違えました。text/htmlではなくてtext/plainでした。
TaMaMhyu

2014/11/05 02:13

あと、URLエンコードしたtestでした。
ORERYU

2014/11/05 07:26

ご丁寧な解説ありがとうございます。 ここまでお付き合い頂き本当に感謝しております。 一度test.jspでtextに記載した内容をString= ALL_Resultにも格納しました。 別のDOWNLOADボタンをdownload.jspにリンクし、 <%  response.setContentType("text/plain;charset=utf-8");  String DL_ALL = request.getParameter("All_Result");  response.setHeader("Content-Disposition", "attachment;filename=book.txt"); %> といったように記述したら、book.txtのダウンロードが出来ました。 book.txtの中身は以下のようになりました。 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <h1>download.jsp</h1> </html> もうあと一歩なんじゃないかなと思っています。
TaMaMhyu

2014/11/05 08:19

download.jsp内に余計な出力がない状態で、 <%=DL_ALL%> を書けばいけるのではないかと思いますが。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問