【发布时间】:2015-06-01 07:42:26
【问题描述】:
我正在使用<h:outputLink>,如下所示。
<c:set var="cid" value="1"/>
<c:set var="sid" value="2"/>
<h:outputLink value="Test.jsf">
<h:outputText value="Link"/>
<f:param name="cid" value="#{cid}"/>
<f:param name="sid" value="#{sid}"/>
</h:outputLink>
这只是一个例子。两个查询字符串参数都是动态的。所以,这里使用的<c:set>只是为了演示。
在任何时候,都可能存在任何一个、两个或一个参数。如果只有一个或一个都不存在,则参数/s 会不必要地附加到不应发生的 URL 上。防止将不必要的查询字符串参数附加到 URL 需要有条件呈现 <f:param>。
JSTL <c:if> 如下
<c:if test="${not empty cid}">
<f:param name="cid" value="#{cid}"/>
</c:if>
没用。
如何在<h:outputLink> 内有条件地渲染<f:param>?
【问题讨论】: