Fala galera, beleza?
To com um problema que não consigo resolver, e é para meu TCC!
É o seguinte:
tenho uma tela onde tem um dataTable (uso Primefaces) que apresenta dados de escolas.
Vejam:
<p:dataTable id="tabela"
var="instituicoes"
value="#{instituicaoMB.exibirTodasInstituicoes()}"
emptyMessage="Nenhum registro encontrado"
selectionMode="single"
selection="#{instituicaoMB.instituicaoBeanAux}"
rowKey="#{instituicoes.idInstituicao}"
paginator="true"
rows="6"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink}
{PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}">
<p:ajax event="rowSelect" listener="#{instituicaoMB.linhaSelecionada}" />
//restante das colunas da tabela
Tenho também o ManagedBean que pega o valor da linha que eu selecionei:
[code]@ManagedBean
@RequestScoped
public class InstituicaoMB {
private InstituicaoBean instituicaoBeanAux;
public InstituicaoMB() {
this.instituicaoBeanAux = null;
}
public void linhaSelecionada(SelectEvent event) {
setInstituicaoBeanAux((InstituicaoBean) event.getObject());
System.out.println("Inst: " + this.getInstituicaoBeanAux());
}
}
[/code]
Tenho também conversores:
[code]@FacesConverter(value = “conversorInstituicao”, forClass = InstituicaoBean.class)
public class ConversorInstituicaoBean implements Converter {
@Override
public Object getAsObject(FacesContext fc, UIComponent uic, String valor) {
Integer idInstituicao;
if(valor == null || "".equals(valor)) {
return null;
}
String[] id = valor.split(" ");
idInstituicao = Integer.parseInt(id[1]);
if(id[1] != null) {
InstituicaoDAOImpl instituicaoDAOImpl = new InstituicaoDAOImpl();
return instituicaoDAOImpl.buscarInstituicaoPorId(idInstituicao);
}
return null;
}
@Override
public String getAsString(FacesContext fc, UIComponent uic, Object object) {
if (object != null && object instanceof InstituicaoBean) {
return ((InstituicaoBean)object).toString();
}
return null;
}
}[/code]
Aí eu tenho um método chamado salvar() em que preciso passar a variável instituicaoBeanAux para persistência.
No entanto, ele não salva no banco porque a variável instituicaoBeanAux vem nula!!
Alguém pode me dizer o que está acontecendo? =/
Valeu galera, []'s