JSR-252 Issue #13: needs converter-for-class converter registration for
BigDecimal and BigInteger
--------------------------------------------------------------------------------------------------
Key: MYFACES-1739
URL: https://issues.apache.org/jira/browse/MYFACES-1739
Project: MyFaces Core
Issue Type: Bug
Components: JSR-252
Environment: Tomcat 6.0.14, Myfaces 1.2.1-SNAPSHOT
Reporter: Leonardo Uribe
Fix For: 1.2.1-SNAPSHOT
Attachments: patchBigIntegerBigDecimal.patch
When you have this code:
<%@ page session="false" contentType="text/html;charset=utf-8"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<html>
<f:view>
<[EMAIL PROTECTED] file="inc/head.inc"%>
<body>
<f:loadBundle
basename="org.apache.myfaces.examples.resource.example_messages"
var="example_messages" />
<h1>Myfaces Examples JSF 1.2 Additions</h1>
<h:messages></h:messages>
<h:form id="form">
<h:panelGrid id="grid" columns="3">
<h:outputLabel value="BigInt"
for="bigint"></h:outputLabel>
<h:inputText id="bigint"
value="#{convertBigBean.bigint}">
<f:converter
converterId="javax.faces.BigInteger" />
</h:inputText>
<h:message for="bigint"></h:message>
<h:outputLabel value="BigDecimal"
for="bigdecimal"></h:outputLabel>
<h:inputText id="bigdecimal"
value="#{convertBigBean.bigdecimal}">
<f:converter
converterId="javax.faces.BigDecimal" />
</h:inputText>
<h:message for="bigdecimal"></h:message>
</h:panelGrid>
<h:commandButton id="button1" value="press me" action="update"
/>
</h:form>
</body>
</f:view>
</html>
And the backing bean looks like follows:
package org.apache.myfaces.convertbig;
import java.math.BigDecimal;
import java.math.BigInteger;
public class ConvertBigBean {
private BigInteger bigint;
private BigDecimal bigdecimal;
public BigInteger getBigint() {
return bigint;
}
public void setBigint(BigInteger bigint) {
this.bigint = bigint;
}
public BigDecimal getBigdecimal() {
return bigdecimal;
}
public void setBigdecimal(BigDecimal bigdecimal) {
this.bigdecimal = bigdecimal;
}
}
The code works but if you remove the lines:
<f:converter converterId="javax.faces.BigInteger" />
and
<f:converter converterId="javax.faces.BigDecimal" />
works in JSF RI 1.2 but not on Myfaces 1.2 as the spec says.
This issue is related with MYFACES-1260 JSR-252 Issue #13: Specified "by type"
converter registration for BigDecimal and BigInteger, but this is closed
so I open a new issue. The solution is simple, just add the following:
<converter>
<converter-for-class>java.math.BigDecimal</converter-for-class>
<converter-class>javax.faces.convert.BigDecimalConverter</converter-class>
</converter>
and
<converter>
<converter-for-class>java.math.BigInteger</converter-for-class>
<converter-class>javax.faces.convert.BigIntegerConverter</converter-class>
</converter>
to the files BigInteger.xml and BigDecimal.xml of myfaces-build project on 1.2
branch
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.