【发布时间】:2010-12-18 07:55:14
【问题描述】:
在 JSPX 页面中,我使用自定义标签,效果很好
<body>
<ui:image name="nameOfImage"/>
</body>
但是,如果我将 <ui:image name="nameOfImage"/> 放入变量 body
这行不通
<body>
${body}
</body>
问题是如何让JSP渲染引擎渲染变量内部的jsp标签?
【问题讨论】:
在 JSPX 页面中,我使用自定义标签,效果很好
<body>
<ui:image name="nameOfImage"/>
</body>
但是,如果我将 <ui:image name="nameOfImage"/> 放入变量 body
这行不通
<body>
${body}
</body>
问题是如何让JSP渲染引擎渲染变量内部的jsp标签?
【问题讨论】:
据我所知,没有办法直接做到这一点。与您所问的最接近的是我曾经从Eval taglib 遇到的自定义标签。它应该类似于 JavaScript 的eval()(或者他们这么说)。
也许你可以研究一下,看看它是如何做的,并借鉴一些想法。
编辑: 昨天我没有想到,但你可能会使用 JSTL 来做类似的事情,虽然这只适用于 JSP(X)更高位置的变量(如控制器)它不会工作,因为它不会被评估,而只是作为字符串输出。
<c:set> 允许您评估某些内容并将结果放入一个变量中,然后您可以重复使用该变量:
<c:set var="body">
<ui:image name="nameOfImage"/>
</c:set>
....
<body>
${body}
</body>
【讨论】: