Ola a todos, estou fazendo um teste aqui usando JSF 1.2 e estou tentando fazer uma coisa simples mas não consigo resolver de forma alguma…
eu tenho um formulario e gostaria de alterar o valor de um combo e conforme o valor deste combo, fosse alterado o valor de um textfield do mesmo formulario…
o codigo do jsp é:
<h:form id="form">
<h:messages showDetail="true" showSummary="false" />
<BR> Nome: <h:inputText id="nome" value="#{pessoaMB.nome}" required="true" />
<BR> <h:selectOneMenu id="combo" valueChangeListener="#{pessoaMB.comboAlterado}" onchange="submit()" immediate="true">
<f:selectItem itemLabel="" itemValue="escolha"/>
<f:selectItem itemLabel="Jose" itemValue="Jose"/>
<f:selectItem itemLabel="Fatima" itemValue="Fatima"/>
<f:selectItem itemLabel="Roberta" itemValue="Roberta"/>
</h:selectOneMenu>
<BR>
<BR> <h:commandButton action="#{pessoaMB.ok}" value="ok" />
</h:form>
e o codigo do managed bean é:
public void comboAlterado(ValueChangeEvent e) {
this.nome = ((HtmlSelectOneMenu) e.getComponent()).getValue().toString();
FacesContext.getCurrentInstance().renderResponse();
}
porém alterando o atributo ‘nome’ da classe, quando volta para o jsp o valor não é alterado (permanece o mesmo)…
tb tentei da seguinte maneira
public void comboAlterado(ValueChangeEvent e) {
String valorDoCombo = ((HtmlSelectOneMenu) e.getComponent()).getValue().toString();
HtmlInputText textNome = (HtmlInputText) FacesContext.getCurrentInstance().getViewRoot().findComponent("form.nome");
textNome.setValue(valorDoCombo);
FacesContext.getCurrentInstance().renderResponse();
}
mas tb não funcionou… Simplesmente o valor não é alterado…
Estou usando java 6, tomcat 6, JSF 1.2
Tentei usar tanto a implementação “RI” (mojarra-1.2_09) quanto a “myfaces” (myfaces-1.2.4) e continua não funcionando… portanto creio q seja burrice minha mesmo! rs
oh… e agora quem poderá me defender??? hauahu
valeu ai pela ajuda pessoal!
abraços