Java jsp自定义标记:未调用doAfterBody方法
下面的代码在JBoss7中不起作用。我还在Tomcat7中测试了它 根本原因是构造函数,并且没有为Java jsp自定义标记:未调用doAfterBody方法,java,jsp,jboss7.x,custom-tags,Java,Jsp,Jboss7.x,Custom Tags,下面的代码在JBoss7中不起作用。我还在Tomcat7中测试了它 根本原因是构造函数,并且没有为标记调用doAfterBody方法。即使正在为父标记调用它 当子标记移到之外时,它就工作了。这意味着无法识别子标签 .tld文件: <?xml version="1.0" encoding="UTF-8"?> <taglib> <tlib-version>1.0</tlib-version> <jsp-version>1.2<
标记调用doAfterBody方法。即使正在为父标记调用它
当子标记
移到
之外时,它就工作了。这意味着无法识别子标签
.tld文件:
<?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>
jsp:
...
...
...
在将
设置为jsp而不是tagdependent之后,它在tomcat7中工作。但是,在JBoss7中,jsp的tld验证失败
在JBoss7中,它与无脚本
一起工作。但是,我在
标签中有
和
等脚本
如何修复?将
设置为无脚本后,将处理子标记
。并且,已将
标记内的脚本替换为自定义标记
public class XsltXmlTag extends BodyTagSupport {
public XsltXmlTag() {
log("constructor not invoked.");
}
public int doAfterBody() throws JspException {
log("this method is not invoked.");
...
}
...
}
<%@ taglib uri="xmlx.tld" prefix="x"%>
...
<x:xslt media="html">
<x:xml>
<?xml version="1.0" ?>
...
</x:xml>
...
</x:xslt>