You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2008/12/04 21:29:37 UTC
DO NOT REPLY [Bug 46343] New: .tag files: page scope attribute from
outer tag is lost in inner tag
https://issues.apache.org/bugzilla/show_bug.cgi?id=46343
Summary: .tag files: page scope attribute from outer tag is lost
in inner tag
Product: Tomcat 6
Version: 6.0.18
Platform: PC
OS/Version: Windows Server 2003
Status: NEW
Severity: normal
Priority: P2
Component: Servlet & JSP API
AssignedTo: dev@tomcat.apache.org
ReportedBy: wknauf@hg-online.de
Created an attachment (id=22994)
--> (https://issues.apache.org/bugzilla/attachment.cgi?id=22994)
Sample for the failing Tags
I asked this on the mailing list (Dec. 2nd, same subject), but got no reply. I
think it is a bug, but maybe it is just an error of mine.
I have a JSP tag file, which sets an attribute to the PageContext. I
expect this attribute to be present in child tags.
Here is the outer tag (in a file "outer.tag"):
<%@ tag language="java" pageEncoding="ISO-8859-1"%>
<%@ 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>
The tag just sets a string "This is a test !" to a page scope attribute
"test" and calls the tag body.
This is the inner tag (file "inner.tag"), it tries to display the page scope
attribute from the outer tag:
<%@ tag language="java" pageEncoding="ISO-8859-1"%>
Value in inner tag: ${test} <br/>
My JSP is this:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="tagfiles" tagdir="/WEB-INF/tags" %>
<html>
<head>
</head>
<body>
<tagfiles:outer>
Value in test.jsp: ${test} <br>
<tagfiles:inner/>
</tagfiles:outer>
<br/>
The browser shows this:
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 problem is the empty output in the inner tag. I expect the third
line to be "Value in inner tag: This is a test !".
If I code this with tag classes, everything works fine: the attribute is
set through "this.pageContext.setAttribute("test", "This is a test !");"
and the inner tag finds the value with
"this.getJspContext().getAttribute("test", PageContext.PAGE_SCOPE);".
Attached is a sample for this (WAR file created by Eclipse 3.4/WTP 3.0,
including sources).
It contains the .tag files and java code version of the tag. Both are called on
"index.jsp", and the coded tag shows the expected behavior.
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
DO NOT REPLY [Bug 46343] .tag files: page scope attribute from outer
tag is lost in inner tag
Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=46343
Mark Thomas <ma...@apache.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |INVALID
--- Comment #1 from Mark Thomas <ma...@apache.org> 2008-12-27 14:43:27 PST ---
The behaviour you are seeing is as per the JSP spec. See the third bullet of
JSP.8.3
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org