Ich verwende ein <h:outputLink>
wie folgt.
Dies ist nur ein Beispiel. Beide Abfragezeichenfolgenparameter sind dynamisch. Also, <c:set>
hier ist nur der Demonstration wegen.
Zu jeder Zeit kann einer, beide oder keiner der Parameter vorhanden sein. Falls nur eine oder keine von ihnen vorhanden ist, werden Parameter / s unnötigerweise an die URL angehängt, was nicht passieren sollte. Das Verhindern, dass unnötige Abfragezeichenfolgenparameter an die URL angehängt werden, erfordert eine bedingte Wiedergabe von <f:param>
.
JSTL <c:if>
gefällt Folgendes
hat nicht funktioniert.
Wie kann es möglich gemacht werden, <f:param>
in <h:outputLink>
?
Die <f:param>
hat eine disable
(nicht disabled
!) Attribut für diesen Zweck.
Beachten Sie, dass dies in Mojarra-Versionen älter als 2.1.15 einen Fehler hat, weil sie die tatsächliche Eigenschaft UIParameter
als disble
anstelle von disable
typisiert haben. Siehe auch Problem 2312 .
Was den <c:if>
-Ansatz betrifft, würde das nur funktionieren, wenn die #{cid}
und #{sid}
während der Erstellung der Ansicht verfügbar sind. Mit anderen Worten, es würde fehlschlagen, wenn sie nur während der Wiedergabezeit der Ansicht verfügbar sind, z. wenn sie von var
einer Repeater-Komponente abhängen. Siehe auch JSTL in JSF2 Facelets ... macht Sinn?