[jboss-jira] [JBoss JIRA] Created: (JBAS-4307) Tag file: Variables from outer tags are not available in inner tags

Wolfgang Knauf (JIRA) jira-events at lists.jboss.org
Fri Apr 6 15:04:58 EDT 2007


Tag file: Variables from outer tags are not available in inner tags
-------------------------------------------------------------------

                 Key: JBAS-4307
                 URL: http://jira.jboss.com/jira/browse/JBAS-4307
             Project: JBoss Application Server
          Issue Type: Bug
      Security Level: Public (Everyone can see)
          Components: Web (Tomcat) service
    Affects Versions: JBossAS-4.2.0.CR1
            Reporter: Wolfgang Knauf
         Assigned To: Remy Maucherat


I created two tag files ("outer" and "inner"), in the jsp "inner" is a nested tag of "outer".
In the outer tag file I declare a variable and write it to the jspContext. This variable is available in the jsp, but not in "inner.tag".

outer.tag
<%@ variable name-given="test" scope="NESTED" %>
<%
  jspContext.setAttribute ("test", "This is a test !", PageContext.PAGE_SCOPE);
%>
Value before doBody: ${test} <br>
<jsp:doBody/>
Value after doBody: ${test} <br>

inner.tag:
Value in inner tag: ${test} <br>

test.jsp:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="test" tagdir="/WEB-INF/tags" %>
<html>
<body>
 <test:outer>
   Value in test.jsp: ${test} <br>
   <test:inner/>
 </test:outer>
</body>
</html>


The output is:
Value before doBody: This is a test ! 
Value in test.jsp: This is a test ! 
Value in inner tag: 
Value after doBody: This is a test ! 

The inner tag does not see the attribute.

I don't know whether this is a bug or whether the spec forbids this, but I think it should be possible for the inner tag to see the parent variables.

A usage sample would be some iterator tag which places the current item in a jspContext variable and the inner tags must be able to access the current item (the variable name is an attribute of the inner tag). I could place the current item in the request scope, but this is much too global.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list