Скажем, у меня есть следующее определение f:viewParam:
<f:metadata>
<f:viewParam name="cust-id" value="#{CustomerCEVController.customer}"
converter="#{customerConverter}" converterMessage="Unknown customer, please use a link from within the system."
required="true" requiredMessage="cust-id f:viewParam not present"
/>
</f:metadata>
Я перехожу на нужную страницу с параметром "?cust-id=2342" в URL-адресе, поэтому роль метода getAsObject в преобразователе заключается в том, чтобы явно создать экземпляр поля Customer в компоненте поддержки ( например, выполнив запрос к БД на основе значения cust-id). Что мне не очень понятно, так это то, зачем нам нужен метод getAsString и как он используется. Это не вопрос роли getAsString в конвертерах в обычном случае, т. е. в привязке между элементами пользовательского интерфейса представления .xhtml и вспомогательным компонентом, где их роль прост. Я также прочитал здесь, что мы можем обрабатывать < strong>f:viewParam в качестве элемента ввода пользовательского интерфейса для параметров GET, но роль преобразователя в обратном направлении для меня не имеет смысла.