Pessoal, por favor me ajudem.
Tenho um SelectOneMenu e quero pegar o valor dele…estou fazendo assim…me ajudem…
xhtml
Bairro: <h:selectOneMenu value="#{pizzariaTO.bairro}" tittle="Selecione seu bairro!">
                    					<f:selectItem itemLabel="Morumbi" value="morumbi"/>
                    					<f:selectItem itemLabel="Interlagos" value="interlagos"/>
                    					<f:selectItem itemLabel="Brooklin" value="brooklin"/>
                    				</h:selectOneMenu>
                    				<br/><br/>
Bean
public class PizzariaTO {
	private String nome;
	private String telefone;
	private String bairro;
	
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getTelefone() {
		return telefone;
	}
	public void setTelefone(String telefone) {
		this.telefone = telefone;
	}
	public String getBairro() {
		return bairro;
	}
	public void setBairro(String bairro) {
		this.bairro = bairro;
	}
}
O erro que está dando é:
exception 
javax.servlet.ServletException: java.lang.String cannot be cast to javax.faces.model.SelectItem
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:325)
Valeu galera
         
        
          
        
           
           
           
         
         
            
            
          
       
      
        
        
          substitui o atributo value por itemValue
         
        
        
           
           
           1 curtida
         
         
            
            
          
       
      
        
        
          Não é value… mas sim itemvalue…
Exemplo:
<f:selectItem itemLabel="Morumbi" itemValue="morumbi"/> 
Falows…
         
        
        
           
           
           1 curtida
         
         
            
            
          
       
      
        
        
          Tiburcio e Carlos, valeu pela resposta.
O que acontece é o seguinte:
Eu acho que o que está errado é o <h:selectOneMenu value="#{pizzariaTO.bairro}"  pois esta propriedade de Bean é String e precisava ser SelectItem certo? Se positivo, a questão é, como faço para passar um SelectItem para String.
Valeuu…
Abss
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          vc acha?
vc não vai ao menos testar a solução que foi passada?
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          Tiburcio, o erro que está dando é de conversão (casting) de SelectItem para String, por isso que falo que “ACHO” que não é isso, e também está aqui nesse site (http://www.roseindia.net/jsf/selectOneMenu.shtml) como referencia da onde tirei o comando.
Agradeço as respostas meu velho.
Testar eu vou, mas no momento não posso, estou no trabalho.
Valeu!!
ABss
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          o exemplo do roseIndia que vc viu esta assim:
   <h:form>
<h:selectOneMenu id="som" value="TableBean.perInfoAll" title="select any one in this menu">
  <f:selectItem id="si1" itemLabel="Thums Up" itemValue="11" />
  <f:selectItem id="si2" itemLabel="Limca" itemValue="22" />
  <f:selectItem id="si3" itemLabel="Pepsi" itemValue="33" />
  <f:selectItem id="si4" itemLabel="Sprite" itemValue="44" />
  <f:selectItem id="si5" itemLabel="Frooti" itemValue="55" />
  <f:selectItem id="si6" itemLabel="Coca-Cola" itemValue="66" />
</h:selectOneMenu>
esta itemValue não value.
O melhor é consultar a documentação oficial, que diz que a opção itemValue:
“Valor a ser devolvido para o servidor se essa opção for selecionada pelo usuário”.
o atributo value devolverá um objeto selectItem, por isso que da o seu erro.
aqui o link para vc consultar:
http://download.oracle.com/javaee/5/javaserverfaces/1.2/docs/tlddocs/
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          Muito Obrigado Tiburcio, eu verifiquei e vi que estava errado mesmo.
Agora chagamos no mesmo ponto, o que eu não estou conseguindo é fazer o casting. Na verdade eu não sei como faço, se coloco a pripriedade do meu Bean como selectItem e jogo para outra variavel covertendo ou se faço de outro jeito.
Valeuuuu…
Abs
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          mas cara, vc ta complicando,rsrs
no seu bean vc coloca uma String simples e vc usa o atributo itemValue no f:selectItem…
Bairro: <h:selectOneMenu value="#{pizzariaTO.bairro}" tittle="Selecione seu bairro!">  
                                        <f:selectItem itemLabel="Morumbi" itemValue="morumbi"/>  
                                        <f:selectItem itemLabel="Interlagos" itemValue="interlagos"/>  
                                        <f:selectItem itemLabel="Brooklin" itemValue="brooklin"/>  
                                    </h:selectOneMenu>  
                                    <br/><br/> 
e o bean continua como vc postou:
[code]public class PizzariaTO {
private String nome;  
private String telefone;  
private String bairro;  
  
public String getNome() {  
    return nome;  
}  
public void setNome(String nome) {  
    this.nome = nome;  
}  
public String getTelefone() {  
    return telefone;  
}  
public void setTelefone(String telefone) {  
    this.telefone = telefone;  
}  
public String getBairro() {  
    return bairro;  
}  
public void setBairro(String bairro) {  
    this.bairro = bairro;  
}  
}
[/code]
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          Ahhhh…poxa…
O que eu achei que fosse era um erro de casting pq quando eu coloquei essa linha
 Bairro: <h:selectOneMenu value="#{pizzariaTO.bairro}" tittle="Selecione seu bairro!">  
No lugar do value eu teria que colocar uma variavel do tipo SelectItem e não String… mas se vc está falando que funciona com uma String e é só mudar para ItemValue, vou fazer hoje a noite e te passo.
Valeuuuu…
Absss