Problema SelectOneMenu JSF

13 respostas
thiago.limma

Galera,

estou com o seguinte erro:

java.lang.IllegalArgumentException: Conversion Error setting value ‘’{0}’’ for ‘’{1}’’.

Select:

<h:selectOneMenu value="#{consultarFrequenciaBean.mesEscolhido}"">
           <f:selectItems value="#{consultarFrequenciaBean.listaMeses}"/>
</h:selectOneMenu>

Alguém sabe me dizer a causa disso? Eu retiro o selectItems e funciona… coloco e tenho esse erro.

Fiz debug e nem no getListaMeses n entra…

valeu

13 Respostas

overkill

Amigo seria interessante colocar os codigos responsaveis pela geracao da lista.

Abraço

thiago.limma

Tudo bem, mas adianto que ele nem acessa esse método.

Coloquei break point e nada.

public List<SelectItem>populaListaMes(){
		
		Calendar calendario = Calendar.getInstance();
		if(listaMeses.size() <=11){
			calendario.add(Calendar.MONTH, -11);
			for (int i = 0; i <= 11; i++) {
				String ano = SisrhBeanUtils.mesAno(calendario.get(Calendar.MONTH)) + "/" + calendario.get( Calendar.YEAR);
				listaMeses.add(new SelectItem(ano));
				calendario.add(Calendar.MONTH, 1);
			}
			getMesEscolhido();
		}
		return listaMeses;
	}
overkill

Se ele nem acessa o método talvez seja problema na definição do bean mesmo … verifique como esta a configuraçao do bean

que tecnologias esta utilizando JSF puro ou alguma junção ?

thiago.limma

Eu já verifiquei o bean… está certinho rsrs…

<managed-bean>
		<managed-bean-name>consultarFrequenciaBean</managed-bean-name>
		<managed-bean-class>pacote.web.ConsultarFrequenciaBean</managed-bean-class>
		<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
joede.fadel

Qual é o tipo de dado do “consultarFrequenciaBean.mesEscolhido”??

thiago.limma

é uma String.

thiago.limma

Descobri o problema… houve um ajuste de arquitetura e o analista esqueceu de colocar faces no arquivo web.xml =XXXXX

overkill

thiago.limma:
Tudo bem, mas adianto que ele nem acessa esse método.

Coloquei break point e nada.

public List<SelectItem>populaListaMes(){
		
		Calendar calendario = Calendar.getInstance();
		if(listaMeses.size() <=11){
			calendario.add(Calendar.MONTH, -11);
			for (int i = 0; i <= 11; i++) {
				String ano = SisrhBeanUtils.mesAno(calendario.get(Calendar.MONTH)) + "/" + calendario.get( Calendar.YEAR);
				listaMeses.add(new SelectItem(ano));
				calendario.add(Calendar.MONTH, 1);
			}
			getMesEscolhido();
		}
		return listaMeses;
	}

Colega acredito que o problema esta no nome dos metodos o JSF sempre chama atravez do get+nome e manda a informacao do bean atraves do set+nome

poderia colocar a classe toda do bean … pois a principio nao temos erros !

Abraço!

overkill

hahahaa blz !

thiago.limma

overkill:
thiago.limma:
Tudo bem, mas adianto que ele nem acessa esse método.

Coloquei break point e nada.

public List<SelectItem>populaListaMes(){
		
		Calendar calendario = Calendar.getInstance();
		if(listaMeses.size() <=11){
			calendario.add(Calendar.MONTH, -11);
			for (int i = 0; i <= 11; i++) {
				String ano = SisrhBeanUtils.mesAno(calendario.get(Calendar.MONTH)) + "/" + calendario.get( Calendar.YEAR);
				listaMeses.add(new SelectItem(ano));
				calendario.add(Calendar.MONTH, 1);
			}
			getMesEscolhido();
		}
		return listaMeses;
	}

Colega acredito que o problema esta no nome dos metodos o JSF sempre chama atravez do get+nome e manda a informacao do bean atraves do set+nome

poderia colocar a classe toda do bean … pois a principio nao temos erros !

Abraço!

Descobri o problema… houve um ajuste de arquitetura e o analista esqueceu de colocar faces no arquivo web.xml =XXXXX

thiago.limma

thiago.limma:
overkill:
thiago.limma:
Tudo bem, mas adianto que ele nem acessa esse método.

Coloquei break point e nada.

public List<SelectItem>populaListaMes(){
		
		Calendar calendario = Calendar.getInstance();
		if(listaMeses.size() <=11){
			calendario.add(Calendar.MONTH, -11);
			for (int i = 0; i <= 11; i++) {
				String ano = SisrhBeanUtils.mesAno(calendario.get(Calendar.MONTH)) + "/" + calendario.get( Calendar.YEAR);
				listaMeses.add(new SelectItem(ano));
				calendario.add(Calendar.MONTH, 1);
			}
			getMesEscolhido();
		}
		return listaMeses;
	}

Colega acredito que o problema esta no nome dos metodos o JSF sempre chama atravez do get+nome e manda a informacao do bean atraves do set+nome

poderia colocar a classe toda do bean … pois a principio nao temos erros !

Abraço!

Descobri o problema… houve um ajuste de arquitetura e o analista esqueceu de colocar faces no arquivo web.xml =XXXXX

E isso é pq ele é meu amigo… =P

rafael.espiritosanto

Mas o método esta com o nome errado, não?
No código o método esta como populaMeses mas no página está fazendo referência para o método getListaMeses (usando o padrão get and set)

Abraço!

thiago.limma

rafael.espiritosanto:
Mas o método esta com o nome errado, não?
No código o método esta como populaMeses mas no página está fazendo referência para o método getListaMeses (usando o padrão get and set)

Abraço!


Não cara… no método getLista meses eu chamo o método para popular a lista… O problema já foi resolvido, houve um ajuste de arquitetura e o analista esqueceu de colocar faces no arquivo web.xml

Criado 13 de fevereiro de 2009
Ultima resposta 13 de fev. de 2009
Respostas 13
Participantes 4