Bean com valor Default - Levar para outra pagina + JSF

Estou tentando colocar um valor padrao no meu bean abaixo, mas nao esta guardando, segue os codigos:

Managed

[code]
<navigation-rule>
    <display-name>Escolha Cidade</display-name>
    <navigation-case>
        <from-action>#{meuBean.selecionarTipoCidade}</from-action>
        <from-outcome>MINA</from-outcome>
        <to-view-id>/pedido/escolhaMinas.jsp</to-view-id>
    </navigation-case>
    <navigation-case>
        <from-action>#{meuBean.selecionarTipoCidade}</from-action>
        <from-outcome>PARANA</from-outcome>
        <to-view-id>/pedido/escolhaParana.jsp</to-view-id>
    </navigation-case>
     <navigation-case>
        <from-action>#{meuBean.selecionarTipoCidade}</from-action>
        <from-outcome>GOIAS</from-outcome>
        <to-view-id>/pedido/escolhaGoias.jsp</to-view-id>
    </navigation-case>
</navigation-rule>

[/code]

No JSP/F

<h:commandLink id="fecharEscolha" title=" Escolha Cidade" action="#{meuBean.selecionarTipoCidade}"> <h:graphicImage url="/botoes/continuar.jpg"/> </h:commandLink>

No java:

..
if (tipoCidade.equalsIgnoreCase(FormaCidade.TIPO_MINAS)) {
            return "MINAS";
    } else
          if (tipoCidade.equalsIgnoreCase(FormaCidade.TIPO_PARANA)) {
            return "PARANA";
                } else
                 if (tipoCidade.equalsIgnoreCase(FormaCidade.TIPO_GOIAS)) {
            return "GOIAS";
                 } else
                     if (tipoCidade.isEmpty()) {
                         return "PARANA";
                     }  else
                         return "PARANA";
..						 

Necessariamente eu devo escolher uma cidade para que ele leve esse valor para o banco e depois use numa classe, o que estou tentando fazer é que, caso eu passe sem escolher ele adote uma cidade padrão(como PARANA, como deixei no exemplo)

Tentei mudar o bean, o jsf depois o managed, mas nao adiantou

Vocês sabem onde estou errando?

Valeuu !

Está dando algum erro no console?

Ele diz que o valor é null, quando tento passar sem escolher…

:oops: Erro meu isso aqui!!! :oops:

Aonde voce viu outro post meu sobre isso aqui no GUJ?

Aonde voce viu outro post meu sobre isso aqui no GUJ?
[/quote]
Foi mals. Desculpe aí!

Escrevi na janela errada! :shock:

Aonde voce viu outro post meu sobre isso aqui no GUJ?
[/quote]
Foi mals. Desculpe aí!

Escrevi na janela errada! :shock: [/quote]

Não tem problema!

Vc nao quer aproveitar e me dar uma “luz” neste meu post?

Ao invés de fazer if aninhado, tenta fazer assim:

[code]if (tipoCidade.equalsIgnoreCase(FormaCidade.TIPO_MINAS)) {
return “MINAS”;
}

if (tipoCidade.equalsIgnoreCase(FormaCidade.TIPO_PARANA)) {
return “PARANA”;
}

if (tipoCidade.equalsIgnoreCase(FormaCidade.TIPO_GOIAS)) {
return “GOIAS”;
}

return “PARANA”; [/code]

Vou fazer os testes, obrigado


Quando eu fiz isso com o IF, quase funcionou, mas deu o erro abaixo em seguida:
ERRO: Java.lang.NullPointerException - property: descricaoCidadeFinal

Trecho do bean que deu erro acima:

[code]

public String getDescricaoCidadeFinal() {
descricaoCidadeFinal = “”;
String resource = “”;
try {

else if (this.escolhaCidade.getTipo().equalsIgnoreCase(EscolhaCidade.TIPO_CIDADE)) {
resource = ResourceHelper.getMessage(“testeBO.escolhaCidade.finalizacao.PARANA”);
descricaoCidadeFinal = MessageFormat.format(resource,
FormatacaoHelper.formataValor(this.getTotal()),
this.getEscolhaCidade().getNome() + “
” + this.getEscolhaCidade().getDescricao());


} finally {
resource = null;
}
return descricaoCidadeFinal;

	..
[/code]	

Eu revi o codigo e tenho certeza que foi passado o valor para o bean, mas parece que ele esta entendendo que é nulo

Faz um debug e veja em qual linha exatamente ele está reclamando do valor null, aí fica mais fácil de ajudar.

Fiz o debug, e deu o erro nesta linha marcada:

	[code]
	  ..
	    public String getDescricaoCidadeFinal() {
    descricaoCidadeFinal = "";
 String resource = "";<-- aqui ele da o erro e para 
    try {

else if (this.escolhaCidade.getTipo().equalsIgnoreCase(EscolhaCidade.TIPO_CIDADE)) {
resource = ResourceHelper.getMessage(“testeBO.escolhaCidade.finalizacao.PARANA”);
descricaoCidadeFinal = MessageFormat.format(resource,
FormatacaoHelper.formataValor(this.getTotal()),
this.getEscolhaCidade().getNome() + “
” + this.getEscolhaCidade().getDescricao());


} finally {
resource = null;
}
return descricaoCidadeFinal;

	..
	[/code]
	
	Eu tentei contornar isso, dando um valor padrao para a string, por exemplo:
	[code]
	String resource = ResourceHelper.getMessage("testeBO.escolhaCidade.finalizacao.PARANA");
            descricaoCidadeFinal = MessageFormat.format(resource,
                    FormatacaoHelper.formataValor(this.getTotal()),
                    this.getEscolhaCidade().getNome() + "<br/>" + this.getEscolhaCidade().getDescricao());
					[/code]
					
					Mas ai o java reclamou com este erro:
					[B]Cannot format given Object as a Number[/B]

Cara, desculpe falar desse modo mas…
É impossível ter um NullPointer na linha
String resource = “”;

Você está rodando código com cache.

Vá na pasta do seu servidor, apague arquivos temporários. Eles estão quebrando com você.

[quote=jakefrog]Cara, desculpe falar desse modo mas…
É impossível ter um NullPointer na linha
String resource = “”;

Você está rodando código com cache.

Vá na pasta do seu servidor, apague arquivos temporários. Eles estão quebrando com você.[/quote]

Pois é, isso tambem nao entra na minha cabeça, vou fazer isso e posto aqui…

Valeu por enquanto,

[quote=jakefrog]Cara, desculpe falar desse modo mas…
É impossível ter um NullPointer na linha
String resource = “”;

Você está rodando código com cache.

Vá na pasta do seu servidor, apague arquivos temporários. Eles estão quebrando com você.[/quote]

“Infelizmente” nao é problema de cache.

Estou pensando aqui, que quando eu escolho outra cidade ele vai no meu “entity” e traz uns valores de outros campos, por exemplo:(ele faz isso com a cidade Parana tambem)

@Entity
@Table(name="escolha_cidade")
@NamedQueries({
@NamedQuery(name = "EscolhaCidade.listaAtivas", query = "SELECT e FROM escolha_Cidade f " +
"WHERE f.status = 'p'")
})

No entanto, como disse, queria que ele quando fosse null nao precisa ir no banco, talvez eu poderia colocar os valores de campo padrao dentro do Bean…isso é possivel?