Mantis - Resin
Viewing Issue Advanced Details
1037 minor always 04-04-06 11:35 04-11-06 14:13
sergek  
ferg  
normal  
closed 3.0.18  
fixed  
none    
none 3.0.19  
0001037: Nested, scriptlet, EL tag file parsing issue
A very weird combination of tag files, nesting, EL, and scriplets creates a parse exception.

1. hello.jsp calls <test:foo />

2. foo.tag is a empty tag file with a scriptlet and calls <test:bar> with some EL inside the bar tag.

3. bar.tag is a scriptless tag file with nothing for all it matters.

If you have all those pieces in foo.tag (scriplet, and using EL inside the body of the bar tag), then you will get the following exception:

com.caucho.jsp.JspLineParseException: /hello.jsp:5: /WEB-INF/tags/foo.tag:10: _jspBody has private access in javax.servlet.jsp.tagext.SimpleTagSupport _jsp._web_22dinf._tags._bar__tag.doTag(pageContext, _jsp_context2, out, _jsp_fragment_0 = _CauchoFragment.create(_jsp_fragment_0, 0, pageContext, null, _jspBody));
Here are the 3 files you can use to recreate the problem:
========================================
/hello.jsp

<%@ taglib tagdir="/WEB-INF/tags" prefix="test" %>

Hello there

<test:foo />
========================================
/WEB-INF/tags/foo.jsp

<%@ tag body-content="empty" %>
<%@ taglib tagdir="/WEB-INF/tags" prefix="test" %>

<%
request.setAttribute("FIELD_NAMES", "There");
%>

<test:bar>
Foo tag
<c:forEach begin="1" end="2" var="counter">${counter}</c:forEach>

</test:bar>
========================================
<%@ tag body-content="scriptless" %>
<%@ taglib tagdir="/WEB-INF/tags" prefix="test" %>

Bar tag

<jsp:doBody/>

Notes
(0001080)
ferg   
04-11-06 14:13   
jsp/1008