我在 WebCenter 环境中有一个 portlet 应用程序。这个应用程序是使用 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”标签(如果我删除它,工作)那么,为什么?
有什么建议吗?