У меня есть приложение с портлетом в окружении WebCenter. Это приложение сделано с использованием JSF (с реализацией ADF), поэтому у меня есть такое поле:
<af:inputText visible="#{CadastrarFormularioContato.showCodigoEc}"
label="#{msg.CODIGODOEC}" id="it2" required="true"
requiredMessageDetail="#{msg.INFORMECODIGOEC}"
showRequired="true"
value="#{CadastrarFormularioContato.item.cdEstabelecimento}">
<af:validateRegExp messageDetailNoMatch="#{msg.CODIGOECSOMENTENUMEROS}" pattern="^[0-9]{1,}$"/>
<af:convertNumber type="number"/>
</af:inputText>
Но когда я вызываю отправку формы, я получаю следующую ошибку:
javax.portlet.faces.BridgeException: java.lang.IllegalArgumentException: 'value' is not of type java.lang.String.
Мой Object.longField:
private Long longField
(с его геттерами/сеттерами)
Я пытаюсь использовать convert, convertNumber и т. д., но безуспешно.
Проблема связана с тегом «validateRegExp» (если я его удалю, он сработает). Итак, почему?
Любое предложение?