LoginSignup
0
0

jsp:paramのvalue属性に指定した日本語データでの文字化け回避する

Posted at

jsp:forwardやjsp:includeに添えるjsp:paramでリクエストパラメータを指定してあげるとき、value属性に日本語を指定すると、リクエストパラメータを取り出したとき文字化けしている。

ググっても、解決策まで書かれていないサイトのほうが検索結果の上位に出てくるようなので、書いておきます。
Java フォワード先のJSPファイルで文字化け
JSPにて、他のJSPをincludeした場合の文字化けについて

この文字化けを解消するのは、リクエストパラメータを渡す側でエンコードをする必要がある。<% request.setCharacterEncoding("UTF-8"); %>を入れればOK。

もちろん、受け取り側でエンコードなどをすることは忘れないように。

ソースコードの書き方としては、以下。

paramを書くほうの.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<% request.setCharacterEncoding("UTF-8"); %> <%-- **ここが対策** --%>
<jsp:forward page="paramを渡す相手のプログラム">
	<jsp:param name="パラメタ名" value="渡す日本語データ" />
</jsp:forward>
</body>
</html>
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0