Passagem de parametros com f:attribute com converter

2 respostas
leonardobhbr

Galera estou com o seguinte erro

java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer

Código abaixo

<h:inputText value="#{inputValue}" id="#{idInput}"
			immediate="#{inputImmediate}" size="#{inputSize}"
			>

		<c:if test="${!empty inputMaxLength}">			
			<f:attribute name="maxlength" value="#{inputMaxLength}" />
		</c:if>			
			
		</h:inputText>

tentei assim e ocorre o mesmo erro

<h:inputText value="#{inputValue}" id="#{idInput}"
			immediate="#{inputImmediate}" size="#{inputSize}"
			>

		<c:if test="${!empty inputMaxLength}">			
			<f:attribute name="maxlength" value="#{inputMaxLength}">
			<f:converter converterId="javax.faces.convert.IntegerConverter"/>
			</f:attribute>
		</c:if>			
			
		</h:inputText>

2 Respostas

G

n é so passa um integer ?

vc ta passando um string e ele espera um integer … por isso o exception

leonardobhbr

eu to passando um inteiro mesmo o valor é 5.

Cheguei na conclusão que não tem como fazer o q eu gostaria obrigatoriamente eu tenho que setar um valor default caso nao venha, fiz da seguinte forma e funcionou

<c:if test="${empty inputMaxLength}">
		<c:set var="inputMaxLength" value="5"></c:set>
	</c:if>

<h:inputText value="#{inputValue}" id="#{idInput}" immediate="#{inputImmediate}" size="#{inputSize}" maxlength="#{inputMaxLength}" />

Criado 14 de abril de 2009
Ultima resposta 14 de abr. de 2009
Respostas 2
Participantes 2