実現したいこと
JavaのServletでマルチパートフォーム(enctype="multipart/form-data")からhiddenパラメータを取得したい。
発生している問題・分からないこと
CSVファイルアップロード機能を実装中です。
フォームにhiddenパラメータ(トークン)を設定しているのですが、
Servlet側でrequest.getParameter("hparams")を実行しても値が取得できません。
該当のソースコード
JSP
1<form name="CSVform" enctype="multipart/form-data" method="POST" action="CSVUpload"> 2 <input type="file" size="60" name="CSVFILE"> 3 <input type="hidden" name="hparams" value="<%=Utility.getChangeHtmlChar(hiddParams)%>" /> 4 <button type="submit">アップロード</button> 5</form>
Java
1protected void processPost(HttpServletRequest request, HttpServletResponse response) throws Exceptions { 2 // この値がnullになってしまう 3 String reqHidParam = Utility.getChangeNull(request.getParameter("hparams")); 4 5 // トークンの確認 6 String sesHidParam = (String)request.getSession().getAttribute("seDCsvhidParams"); 7 if (!reqHidParam.equals(sesHidParam)) { 8 // エラー処理 9 } 10}
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
hiddenパラメータの値がnullのままである。
補足
・同じシステム内の他の画面(enctype="multipart/form-data"なし)では
request.getParameter("hparams")で正常に値を取得できています
・ブラウザの開発者ツールで確認すると、フォームデータにhparamsは含まれています
回答1件
あなたの回答
tips
プレビュー