我目前正在开发一个需要使用 JSP 的项目,并且我正在尝试编写一个自定义标签来生成 A 链接(因为无论如何,所有链接上总是提供一些参数,所以我想将所有这些都封装在一个地方)。
理想情况下,我希望能够编写我的链接,例如:
<h:link value="${policy.name}" href="show">
<h:param name="id" value="${policy.id}" />
.... There will be an arbitrary number of these, with arbitrary names and values ....
</h:link>
并有这个写一个链接:
<a href="show?id=1&customer=234" />
其中“客户”是始终存在的参数之一。
到目前为止,我已经尝试通过在我的标签中使用 jsp:doBody 来做到这一点,并且标签的主体是 c:param 或 spring:param 标签,但这些都不起作用。环顾四周,我能想到的最好的方法是用 Java 编写我的自定义标签——我真的很讨厌这样做,因为它开始意味着我的视图是用 JSP 和 Java 的拆分编写的——或者做一些非常hacky的事情,比如构建一个地图并将其传递给标签。
有没有更好的方法来实现这样的目标?