这可能是一个非常新手的问题,但我找不到任何令人满意的问题
我想在JSP中做这样的事情(开箱即用):
e.g。在一个名为products.jsp
的文件中,这是一个虚构的实现,解释了我想要的内容
<x:named-segment name="product">
Product: <strong>${product.name}</strong> <br/>
price: ${product.price}
</x:named-segment>
以及稍后在相同 JSP中定义的
中的各个位置使用它<table>
<c:forEach var="product" items="${products}">
<tr>
<td><x:use-segment name="product"/></td>
</tr>
</c:forEach>
</table>
我已经研究过 JSP标记和 JSP Fragements ,但是片段片段只是从调用者JSP传递到JSP标记,我想要它在同一个地方
唯一的解决方案是为该特定小片段(或包括?)创建JSP标记吗?
我错过了一些非常基本的东西吗?
答案 0 :(得分:1)
如果您想要在许多地方使用的小文本是静态的,我建议使用JSP include。 但是,如果文本来自数据库/平面文件/ XML,我建议使用自定义标记。 从您提供的示例中可以看出,您似乎正在尝试列出产品及其价格。这可以通过自定义标签轻松完成。
在您的标记类中,读取数据,创建一个方法,为数据创建HTML标记并以字符串形式返回,打印字符串。 现在在JSP中,在需要文本的任何地方调用自定义标记。 当然,您需要参数化标签以确定在哪个地方获取/显示的内容。
HTH
V
答案 1 :(得分:0)
我觉得你的痛苦@EranMedan,仍然不能相信这不是JSP的一个特色。经过多年的努力,我在这里编写了自己的简单解决方案,以满足您(和我)的需求: https://stackoverflow.com/a/25575120/1607642