include+paramアクション

広告

「param」アクションを「include」アクションと同時に用いることで、インクルードされるページが実行される際にパラメータとして渡すことができます。(「param」アクションの書式については『forward+paramアクション』を参照して下さい)。

される

「include」アクションを利用する際に「param」アクションも利用する場合は次のように記述します。

<jsp:include page="インクルードするページ">
    <jsp:param name="パラメータ名1" value="値1" />
    <jsp:param name="パラメータ名2" value="値2" />
</jsp:include>

インクルード先のページでパラメータを取り出すには「getParameter」又は「getParameterValues」を使って値を取り出します。

サンプルプログラムの実行

それでは実際に試してみましょう。コンテキストファイルは次のようにします。

<Context path="/action"
docBase="d:/jsp-sample/action"/>

JSPページは次のようになります。

include2.jsp

<%@ page contentType="text/html;charset=Shift_JIS" %>

<html>
<head><title>includeテスト</title></head>
<body>
<h1>includeテスト</h1>

<jsp:include page="includeSrc2.jsp" >
  <jsp:param name="textsize" value="h1" />
</jsp:include>

</body>
</html>

includeSrc2.jsp

<%@ page contentType="text/html;charset=Shift_JIS" %>

<%@ page import="java.util.Date" %>

<p>インクルードされた部分です</p>

<%
String textsize = request.getParameter("textsize");
%>

<<%= textsize %>><%= new Date() %></<%= textsize %>

JSPページはコンテキストファイルで指定したドキュメントルートの直下に置いておきます。

[D] -- jsp-sample
        |
        +-- action
        |    |
             +-- (include2.jsp)
             |
             +-- (includeSrc2.jsp)
             |

それでは「http://localhost/action/include2.jsp」にブラウザからアクセスします。今回はインクルードするファイルで表示される文字列の大きさを表すタグを呼び出し元で指定しました。次のように表示されれば成功です。

include+paramアクション

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)