うわぁ!WebSphere Application Server v6.1 などの古いアプリケーション サーバーで JSF 1.2 を使用することを余儀なくされているようです。
標準の BigDecimalConverter のいずれかを使用できます。
<f:converter converterId="javax.faces.BigDecimal" />
ただし、必要に応じて、そのコンバーターが制限される場合があります。その場合は、独自のカスタム コンバーターを作成することをお勧めします。
それでは、独自のコンバーター クラスを作成する方法を読んでください。
コンバーター クラスを作成します。
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;
@FacesConverter("bigDecimalConverter")
public class BigDecimalConverter implements Converter {
...override and implement the required interface methods here
}
カスタム コンバーターを使用するには、次のいずれかを使用できます。
<h:inputText value="#{someBean.field}" converter="bigDecimalConverter"/>
また:
<h:inputText value="#{someBean.field}">
<f:converter converterId="bigDecimalConverter"/>
</h:inputText>
私は長い間 JSF 1.2 を使用していませんが、アノテーションが JSF 2.0 規則である可能性があります。その場合は、昔ながらの方法でカスタム コンバーターを登録する必要があります: faces-config.xml:
<converter>
<description>
Some description here (optional)
</description>
<converter-id>bigDecimalConverter</converter-id>
<converter-class>
com.companyname.project.converters.BigDecimalConverter
</converter-class>
</converter>
参考文献:
Java EE 5 BigDecimalConverter
カスタム コンバーターの登録
Java EE 5 標準コンバーター