A Converter
предназначен для преобразования значений отправленных String
параметров запроса в сложные объекты и наоборот в полях ввода.Однако <f:param>
- это только чистый вывод, и он всегда будет вызывать toString()
для значения.Он не поддерживает Converter
.
. Самым чистым и лучшим вариантом для вас является создание пользовательской функции EL , так что в конечном итоге вы получите:
<f:param name="name" value="#{util:prettyUrl(name)}"/>
Обновление : в служебной библиотеке JSF OmniFaces начиная с версии 1.4 (март 2013 г.) имеется компонент <o:param>
, расширяющий <f:param>
с поддержкой полноценного конвертера JSFТочно так же, как вы использовали бы в <h:outputText converter>
.
<h:link outcome="/page" value="#{name}">
<o:param name="name" value="#{name}" converter="somePrettyURLConverter" />
</h:link>
См. также витрина .