I'm using dynamically created links:
<h:link outcome="/page" value="#{name}">
<f:param name="name" value="#{name}"/>
</h:link>
I would like to attach custom converter for f:param to remove spaces from #{name} etc. But there is no converter property in f:param.
A Converter
is intented to convert from submitted String
request parameter values to complex objects and vice versa in input fields. However, the <f:param>
is pure output only and it will always call toString()
on the value. It doesn't support a Converter
.
Your cleanest and best bet is to create a custom EL function, so that you ultimately end up like:
<f:param name="name" value="#{util:prettyUrl(name)}"/>
Update: the JSF utility library OmniFaces has since version 1.4 (March 2013) a <o:param>
component which extends the <f:param>
with support for a fullworthy JSF converter, exactly like as you'd use in <h:outputText converter>
.
<h:link outcome="/page" value="#{name}">
<o:param name="name" value="#{name}" converter="somePrettyURLConverter" />
</h:link>
See also the showcase.
what if you do something like this?
<f:param name="name" value="#{name.replace(' ', '')}" />
Isn't this working?
Or you want for all < f:param ... ??
Regards
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With