This week's giveaway is in the EJB and other Java EE Technologies forum.
We're giving away four copies of EJB 3 in Action and have Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan on-line!
See this thread for details.
The moose likes JSP and the fly likes How to include page from custom tags Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of EJB 3 in Action this week in the EJB and other Java EE Technologies forum!
JavaRanch » Java Forums » Java » JSP
Bookmark "How to include page from custom tags" Watch "How to include page from custom tags" New topic
Author

How to include page from custom tags

Justin Chu
Ranch Hand

Joined: Apr 19, 2002
Posts: 209
    
    1
(I'm repharsing my last problem)
How to include a jsp page/servlet mapping from a custom tag?
I have tried requestdispatcher.include(request, response), and the page's output does not display on the correct position on the HTML page.
I've tried pageContext.include("servletmapping"); and I got an exception thrown. Something about illegal to flush from within a Custom Tag.
Chu
Justin Chu
Ranch Hand

Joined: Apr 19, 2002
Posts: 209
    
    1
Seems like its impossible to include another page from nested tags of BodyTagSupport.
Here's a work around that I've found.
<%
pageContext.setAttribute("jspWriter",out);
%>
<ct:servletList default="/WEB-INF/props.list">
html
<ct:aServlet/>
more html
</ct:servletList>
// aServletTag class
public int doStartTag() throws JspException {
flushParentBodyContent();
// Do dispatcher include
}
protected void flushParentBodyContent() throws JspException{
Tag parent=getParent();
if(parent != null && parent instanceof BodyTagSupport){
BodyTagSupport parentBodyTag=(BodyTagSupport)parent;
BodyContent parentBodyContent = parentBodyTag.getBodyContent();
try {
JspWriter writer = (JspWriter) pageContext.getAttribute("jspWriter");
parentBodyContent.writeOut(writer);
writer.flush();
} catch (IOException e) {
throw new JspException("IterationTag: " +e.getMessage());
}
parentBodyContent.clearBody();
}
}
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: How to include page from custom tags
 
Similar Threads
Q from Hanu's mock test
accessing session object from Tag Handler class.?
Problem with custom tags
Determine if page to include exists or not!
How to include servlets from tags?