java - jsp Custom Tag: doAfterBody method is not invoked -
the below code not working in jboss 7. have tested in tomcat 7.
the root cause constructor , doafterbody method not invoked <xml> tag. though getting invoked parent tag <xslt>.
when child tag <xml> moved outside <xslt> works. means child tag not recognised.
.tld file:
<?xml version="1.0" encoding="utf-8"?> <taglib> <tlib-version>1.0</tlib-version> <jsp-version>1.2</jsp-version> <short-name>xx</short-name> <uri></uri> <tag> <name>xml</name> <tag-class>com.mycompany.xsltxmltag</tag-class> <body-content>tagdependent</body-content> </tag> <tag> <name>xslt</name> <tag-class>com.mycompany.xslttag</tag-class> <body-content>tagdependent</body-content> </tag> </taglib> tag class <xml> tag:
public class xsltxmltag extends bodytagsupport { public xsltxmltag() { log("constructor not invoked."); } public int doafterbody() throws jspexception { log("this method not invoked."); ... } ... } jsp:
<%@ taglib uri="xmlx.tld" prefix="x"%> ... <x:xslt media="html"> <x:xml> <?xml version="1.0" ?> ... </x:xml> ... </x:xslt> it working in tomcat 7, after setting <body-content> jsp instead of tagdependent. but, in jboss 7, tld validation failing <body-content>jsp</body-content>
in jboss 7, works <body-content>scriptless</body-content>. but, have scripts such <%= contextpath%> , <jsp:expression> inside <xml> tag.
how fix it?
child tag <xml> processed after setting <body-content> scriptless. and, have replaced scripts inside <xml> tag custom tags.
Comments
Post a Comment