繁体   English   中英

在自定义JSP Tag范围内嵌套JSP

[英]Nesting JSPs inside custom JSP Tag scope

我已经为我的JSP页面创建了一个方便的标记库。 看起来像这样:

<myTag:getContent>

    <div id="metadata">
        <myTag:printContent arg="meta"/>
    </div>
    <div id="data">
        <myTag:printContent arg="data"/>
    </div>

</myTag>

getContent包含一个RESTful Web服务,该服务初始化并设置了一些变量,以便当我将printContent与它们各自的参数一起使用时,它只需要打印变量即可,而不是重新获取内容。

问题在于,在实际应用中,对打印内容的调用位于不同页面的内部:

<myTag:getContent>

    <jsp:include page=".../.../.../this.jsp"/> 

    <jsp:include page=".../.../.../that.jsp"/> 

</myTag>

我在每个页面的顶部定义了myTag库,但是我得到了:

java.lang.NullPointerException

在内部JSP的“ myTag:printContent”处

我该怎么办? 考虑到真正的内部jsp页面具有其他标记库和逻辑,这是否有可能?

getContent是.tld(标记库描述符)中的以下属性

<body-content>JSP</body-content>

好吧,似乎好旧的退后一步,看起来这里的问题是真实的。 我将jsp:includes切换为指令include。 对于不熟悉的人:

<myTag:getContent>
    <%@include file=".../.../.../this.jsp"%> 
    <@%include file=".../.../.../that.jsp"%> 
</myTag>

之所以可行,是因为现在范围是相关的,因为这里的include在转换时是静态的,而jsp:include在请求时是动态的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM