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

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

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

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JSP

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

Null

Nullとは、プログラミング言語やデータベースにおけるデータ表現の一種です。コンテキストによって"空"もしくは"長さ0の文字列"、”未知・不明”を意味します。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

Q&A

解決済

1回答

3583閲覧

formで入力した内容をreq.getParameter("");で受け取ろうとしてもnullになってしまう

soso0programmer

総合スコア35

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JSP

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

Null

Nullとは、プログラミング言語やデータベースにおけるデータ表現の一種です。コンテキストによって"空"もしくは"長さ0の文字列"、”未知・不明”を意味します。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

0グッド

0クリップ

投稿2020/06/21 06:51

JSPファイルのformで入力した内容がservletで受け取ろうとしても中身がnullになってしまう原因がわからないので教えていただきたいです。
中身がnullかどうかはデバッグをしていて確認したのですが、原因がわかりませんでした。
Bootstarp4を使っているのですが、formでの送信の方法が違っていたりするのでしょうか?

jspファイル

1 <div class="container pb-5"> 2 3 <div class="row"> 4 5 <!-- Post Content Column --> 6 <div class="col-lg-8 pb-5"> 7 8 <!-- Title --> 9 <h1 class="mt-4"> 10 <i class="fas fa-edit"></i>投稿画面 11 </h1> 12 13 <!-- Post Content --> 14 <form action="PostServlet" method="POST" 15 enctype="multipart/form-data"> 16 <div class="form-group"> 17 <label for="title">タイトル</label> <input class="form-control" 18 placeholder="タイトル" type="text" name="title" size="50"> 19 </div> 20 21 <!-- Category --> 22 <p>カテゴリー</p> 23 <div class="d-inline-flex p-2 bd-highlight"> 24 <div class="row"> 25 <div class="col-xs-4"> 26 <div class="input-group mb-3"> 27 <div class="input-group-prepend"> 28 <span class="input-group-text" id="inputGroup-sizing-default">&#9758;</span> 29 </div> 30 <input type="text" name="category1" class="form-control" 31 aria-label="Sizing example input" 32 aria-describedby="inputGroup-sizing-default" list="category" 33 placeholder="カテゴリーを選択"> 34 <datalist id="category"> 35 <option value="体づくり"></option> 36 <option value="料理"></option> 37 <option value="DIY"></option> 38 <option value="ゲーム"></option> 39 <option value="音楽"></option> 40 <option value="読書"></option> 41 </datalist> 42 </div> 43 </div> 44 </div> 45 46 47 <div class="row"> 48 <div class="col-xs-4"> 49 <div class="input-group mb-3"> 50 <div class="input-group-prepend"> 51 <span class="input-group-text" id="inputGroup-sizing-default">&#9758;</span> 52 </div> 53 <input type="text" name="category2" class="form-control" 54 aria-label="Sizing example input" 55 aria-describedby="inputGroup-sizing-default" list="category" 56 placeholder="カテゴリーを選択"> 57 <datalist id="category"> 58 <option value="体づくり"></option> 59 <option value="料理"></option> 60 <option value="DIY"></option> 61 <option value="ゲーム"></option> 62 <option value="音楽"></option> 63 <option value="読書"></option> 64 </datalist> 65 </div> 66 </div> 67 </div> 68 69 70 <div class="row"> 71 <div class="col-xs-4"> 72 <div class="input-group mb-3"> 73 <div class="input-group-prepend"> 74 <span class="input-group-text" id="inputGroup-sizing-default">&#9758;</span> 75 </div> 76 <input type="text" name="category3" class="form-control" 77 aria-label="Sizing example input" 78 aria-describedby="inputGroup-sizing-default" list="category" 79 placeholder="カテゴリーを選択"> 80 <datalist id="category"> 81 <option value="体づくり"></option> 82 <option value="料理"></option> 83 <option value="DIY"></option> 84 <option value="ゲーム"></option> 85 <option value="音楽"></option> 86 <option value="読書"></option> 87 </datalist> 88 </div> 89 </div> 90 </div> 91 </div> 92 93 94 95 96 <!-- img --> 97 <div class="form-group"> 98 <label for="exampleFormControlFile1">イメージ</label> <input 99 type="text" name="image" class="form-control-file" 100 id="exampleFormControlFile1"> 101 </div> 102 103 <!-- editor-body --> 104 <div class="form-group"> 105 <label>投稿内容</label> 106 <textarea name="content" class="form-control" 107 id="exampleFormControlTextarea1" rows="30"></textarea> 108 </div> 109 110 <!-- editor-footer --> 111 <div class="button"> 112 <button class="btn btn-primary editorSubmit_submitBtn" 113 tabindex="12" type="submit" style="background-color: #adff2f;"> 114 <span class="editorSubmit_submitBtnLabel active"> <i 115 class="fa fa-upload"> </i>プレビュー 116 </span> 117 </button> 118 </div> 119 120 </form> 121 122 </div> 123

servlet

1package controller.post; 2 3import java.io.IOException; 4import java.util.Date; 5 6import javax.servlet.ServletException; 7import javax.servlet.annotation.WebServlet; 8import javax.servlet.http.HttpServlet; 9import javax.servlet.http.HttpServletRequest; 10import javax.servlet.http.HttpServletResponse; 11import javax.servlet.http.HttpSession; 12 13import model.ArticleDao; 14 15@WebServlet("/PostServlet") 16public class PostServlet extends HttpServlet { 17 @Override 18 protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 19 20 req.setCharacterEncoding("UTF-8"); 21 22 String title = req.getParameter("title"); 23 String content = req.getParameter("content"); 24 String image = req.getParameter("image"); 25 String category1 = req.getParameter("category1"); 26 String category2 = req.getParameter("category2"); 27 String category3 = req.getParameter("category3"); 28 29 Date dateNow = new Date(); 30 31 String date = String.valueOf(dateNow); 32 33 HttpSession session = req.getSession(); 34 35 String userId = (String) session.getAttribute("USER_ID"); 36 37 ArticleDao aDao = new ArticleDao(); 38 39 aDao.newDiary(userId, title, content, image, date, category1, category2, category3); 40 41 String move = "postresult.jsp"; 42 43 req.getRequestDispatcher(move).forward(req, resp); 44 45 } 46} 47

よろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

multipart/formdataで送信するフォームをServlet側で適切に受け取るには@MultipartConfig()アノテーションをサーブレットクラスに付与しなければなりません。

java

1(import) 2@WebServlet("/PostServlet") 3@MultipartConfig() 4public class PostServlet extends HttpServlet { 5 6(後略)

これでfile以外のデータはgetParameterで取得できるようになります。

投稿2020/06/21 11:05

hope_mucci

総合スコア4447

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

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

soso0programmer

2020/06/22 08:09 編集

ありがとうございます!無事解決いたしました! 頂いた指摘内容で解決することができました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問