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」タグに関するものです(削除すると機能します)では、なぜですか?
なにか提案を?