リファレンス: HTML フォーム、php、およびアポストロフィ
HTML フォームからサーブレットにデータを渡して処理しようとしています。ただし、テキスト入力でアポストロフィが失われることに気付きました。これがクライアント側の処理エラーなのか、サーバー側の処理エラーなのかわかりませんが、上記のリファレンスを参照すると、サーブレット側で何らかの処理を行う必要があると思いますか? 上記に代わるサーブレットを探してみましたが、見つかりませんでした。
コード スニペットは次のとおりです。
HTML 形式:
<form method="post" action="CreateThreadServlet">
<b>Title</b><br>
<input type="text" name="title" size="60%" placeholder="Enter your title here"/><br>
<br><b>Tags</b><br>
<input type="text" name="tags" placeholder="Additional Tags: comma separated, e.g. Gamification, Java" size="60%" /><br>
<br><b>Details</b><br>
<textarea name="content" style="width:100%;height:50%"></textarea>
<input type="hidden" name="nick" value=<%=nick%>>
<input type="hidden" name="userid" value=<%=userid%>>
<button type="button" style='float: right;' onClick="closeDimmer()">Cancel</button>
<input type="submit" name="Submit" value="Submit" text-align='center' style='float: right;'>
</form>
これは、フォームを処理するサーブレット コードです。
String userid = req.getParameter("userid");
String nick = req.getParameter("nick");
String title = null; //tried using the URLDecoder, doesn't work
try {
title = URLDecoder.decode(req.getParameter("title"), "UTF-8");
} catch (UnsupportedEncodingException ex) {
Logger.getLogger(CreateThreadServlet.class.getName()).log(Level.SEVERE, null, ex);
}
String tags = req.getParameter("tags");
String[] tagStr = tags.split(",");
String[] addTags = req.getParameterValues("addTags");
初心者を助けてください。