Olá pessoal!
Tenho o seguinte código:
<f:view>
<h:form>
<h:inputText binding="#{testeMb.txtTeste}" size="40" disabled="true">
</h:inputText>
<h:commandButton actionListener="#{testeMb.esconder}" value="Testar" id="testar" immediate="true">
</h:commandButton>
<h:commandButton value="Esconder" actionListener="#{testeMb.esconder}" immediate="true">
</h:commandButton>
<h:panelGroup binding="#{testeMb.panel}" rendered="false">
<h:dataTable border="1" value="#{testeMb.lista}" var="nome">
<h:column id="column1">
<h:commandLink actionListener="#{testeMb.testar}" immediate="true">
<h:outputText value="#{nome}"></h:outputText>
</h:commandLink>
<f:facet name="header">
<h:outputText value="Coluna"></h:outputText>
</f:facet>
</h:column>
</h:dataTable>
</h:panelGroup>
</h:form>
</f:view>
public class MB_Teste
{
private HtmlInputText txtTeste;
private HtmlPanelGroup panel;
private DataModel lista = new ListDataModel();
public HtmlInputText getTxtTeste()
{
return txtTeste;
}
public void setTxtTeste(HtmlInputText txtTeste)
{
this.txtTeste = txtTeste;
}
public void testar(ActionEvent event)
{
String nome = lista.getRowData().toString();
txtTeste.setValue(nome);
FacesContext.getCurrentInstance().renderResponse();
}
public void esconder(ActionEvent event)
{
if(event.getComponent().getId().equals("testar"))
panel.setRendered(true);
else
panel.setRendered(false);
FacesContext.getCurrentInstance().renderResponse();
}
public HtmlPanelGroup getPanel()
{
return panel;
}
public void setPanel(HtmlPanelGroup panel)
{
this.panel = panel;
}
public DataModel getLista()
{
List<String> lista = new ArrayList<String>();
lista.add("Teste 1");
lista.add("Teste 2");
this.lista.setWrappedData(lista);
return this.lista;
}
public void setLista(DataModel lista)
{
this.lista = lista;
}
}
Se colocar o inputText disabled=“false” então a ação do link não funciona.
Alguém sabe porquê?