Boa noite!
Galera, tenho um JSF com o conteúdo:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.prime.com.tr/ui">
<ui:insert name="menu">
<ui:include src="/cabecalho.xhtml" />
</ui:insert>
<h:body>
<h:panelGrid style="margin: auto">
<h:form>
<p:panel closable="false" header="Cadastro de Unidades">
<h:panelGrid>
<p:messages />
<h:panelGrid columns="2">
<h:outputText value="Secretaria:" />
<h:selectOneMenu value="#{unidade.secretaria}" id="sec">
<f:selectItems value="#{secretariaBean.listaSecretaria}" />
</h:selectOneMenu>
<h:outputText value="Nome:" />
<h:inputText id="nome" value="#{unidadeBean.unidade.nome}"
required="true" requiredMessage="Campo Nome é Obrigatório" />
</h:panelGrid>
<h:commandButton value="Cadastrar"
action="#{unidadeBean.gravar}" />
</h:panelGrid>
</p:panel>
</h:form>
</h:panelGrid>
</h:body>
</html>
no campo da Secretaria
<h:outputText value="Secretaria:" />
<h:selectOneMenu value="#{unidade.secretaria}" id="sec">
<f:selectItems value="#{secretariaBean.listaSecretaria}" />
</h:selectOneMenu>
eu gostaria que mostrasse o conteúdo “Nome-Código” da secretaria já cadastrada no banco. Porém, aparece apenas Model.Secretaria@XXXXXX, onde o XXXXXX é variável para cada ocorrência da classe Secretaria, acredito que seja uma referencia ao objeto, porém não estou sabendo fazer aparecer como eu quero.
O Bean da classe secretaria:
package Bean;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.faces.model.SelectItem;
import javax.servlet.http.HttpServletRequest;
import Dao.Dao;
import Dao.DaoFactory;
import Model.Secretaria;
@ManagedBean
@SessionScoped
public class SecretariaBean {
Secretaria secretaria = new Secretaria();
public void gravar() {
Dao<Secretaria> dao = new DaoFactory().getSecretariaDao();
dao.adiciona(secretaria);
secretaria = new Secretaria();
}
public List<Secretaria> getSecretarias() {
Dao<Secretaria> dao = new DaoFactory().getSecretariaDao();
return dao.listaTudo();
}
public List<SelectItem> getListaSecretaria() {
List<SelectItem> secretarias = new ArrayList<SelectItem>();
List<Secretaria> listaSec = getSecretarias();
secretarias.add(new SelectItem(null, ""));
for (Secretaria obj : listaSec) {
secretarias.add(new SelectItem(obj.getId(), obj.toString()));
}
return secretarias;
}
public void remover() {
FacesContext context = FacesContext.getCurrentInstance();
HttpServletRequest req = (HttpServletRequest) context
.getExternalContext().getRequest();
Long idSecretaria = new Long((req.getParameter("id")));
Dao<Secretaria> dao = new DaoFactory().getSecretariaDao();
dao.remove(dao.procura(idSecretaria));
}
public Secretaria getSecretaria() {
return secretaria;
}
public void setSecretaria(Secretaria secretaria) {
this.secretaria = secretaria;
}
}
Quem puder me orientar, fico grato!
Att
DRauber