<jsp:param> は他のJSPページへパラメータを渡すJSPアクションタグである。この使い方を紹介する。
次のJSPアクションタグにリクエスト・パラメータを渡すことができる。
転送するJSPページへパラメータを渡す。
<jsp:forward page="/forward.jsp">
<jsp:param name="user" value="tsuka" />
</jsp:forward>
インクルードするJSPページへパラメータを渡す。
<jsp:include page="/footer.jsp" flush="true">
<jsp:param name="user" value="tsuka" />
</jsp:include>
<jsp:param> タグには次の属性を指定する。
JSPアクションタグ <jsp:param> の使用例を次に示す。
<%@ page contentType="text/html;charset=UTF-8" %>
<jsp:forward page="/forward.jsp">
<jsp:param name="user" value="tsuka" />
</jsp:forward>
<!DOCTYPE html>
<html>
<head>
<title>Forward example</title>
</head>
<body>
</body>
</html>
<jsp:include> へパラメータを渡す例を示す。
<%@ page contentType="text/html;charset=UTF-8" %>
<!DOCTYPE html>
<html>
<head>
<title>JSP example</title>
</head>
<body>
<jsp:include page="/header.jsp">
<jsp:param name="user" value="tsuka" />
<jsp:param name="type" value="prime" />
</jsp:include>
<!-- content -->
<jsp:include page="/footer.jsp" />
</body>
</html>
文字化けしないようにするためには、インクルード先のページを次のように記述する。
<%@ page pageEncodinf="UTF-8" %>
<%
request.setCharacterEncoding("UTF-8");
String user = request.getParameter("user");
%>
User: <%=user%>
setCharacterEncoding() は javax.servlet.ServletRequestインタフェースのメソッドである。
void setCharacterEncoding(String env) throws UnsupportedEncodingException
引数 env には、リクエストの文字エンコーディングを指定する。
getParameter() は javax.servlet.ServletRequestインタフェースのメソッドである。
String getParameter(String name)
引数 name には、リクエスト・パラメータの名前を指定する。指定されたパラメータが存在しない場合は null を返す。
getParameter() メソッドは、指定した名前のパラメータにひとつの値だけがある場合に使用する。パラメーターに複数の値がある場合は、getParameterValues() メソッドを使用する。
String[] getParameterValues(String name)
JSPのアクションタグには、他にも次のタグがある。