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>