- PR -

JSPタグファイルでの変数引渡しについて

1
投稿者投稿内容
tem
会議室デビュー日: 2008/11/17
投稿数: 3
投稿日時: 2009-04-02 16:38
JSP2.0のタグファイルに関する質問です。

現在タグファイルを用いてカスタムタグを作成しているのですが、
下記のコードのようにカスタムタグに親子関係を付けた場合、
親要素「parent.tag」から子要素「child.tag」への変数「parentValue」の引渡しが失敗してしまいます。


--【JSP内の呼出箇所】----------
<t:parent value="test">
<t:child />
</t:parent>


--【parent.tag】----------
<%@ tag pageEncoding="windows-31j" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ attribute name="value" required="true" %>
<%@ variable name-given="parentValue" %>

[Call Parent]<br/>
parentValue : 「${value}」<br/>
<br/>

<c:set var="parentValue" value="${value}" />
<jsp:doBody/>


--【child.tag】----------
<%@ tag body-content="empty" pageEncoding="windows-31j" %>

[Call Child]<br/>
parentValue : 「${parentValue}」<br/>


--【出力結果】----------
[Call Parent]
parentValue : 「test」

[Call Child]
parentValue : 「」 ←${parentValue}がnullで引き渡されている
----------------------------


なおJSPの記述を子要素「child.tag」を用いず、次のように変更した場合は、
変数parentValueが正しく取得されます。
----------------------------
<t:parent value="test">
[Call Child]<br/>
parentValue : 「${parentValue}」<br/>
</t:parent>
----------------------------


こうした親子間での変数引渡し方法についてご存知の方がいれば、
お知恵をお借しいただければ幸いです。
1

スキルアップ/キャリアアップ(JOB@IT)