diego12 2 de abr. de 2016
Acho q falta a annotation antes do viewscope
@ManagedBean ( name = "controleSos" , eager = true )
@ViewScoped
se não der certo, teste:
@ManagedBean ( name = "controleSos" , eager = true )
@SessionScoped
Use preferencialmente as annotation para mapear os ManagedBean, evite usar o XML
http://www.tutorialspoint.com/jsf/jsf_managed_beans.htm
lucciano01 2 de abr. de 2016
`no ControleSos:
private List< SelectItem> selectItensSetores;
public List< SelectItem> getSelectItenSetores ( ){
if( selectItensSetores == null){
selectItensSetores = new ArrayList< SelectItem>();
for ( Setores s : buscaSetores ( ) {
selectItensSetores .add ( new SelectItem ( s .nome , s .setor ) ;
}
}
return selectItensSetores ;
}
na p ágina :
< f:selectItems value="#{controleSos.selectItensSetores}" />
não esqueça de fazer o converter para o selectItem
`
Douglas_Dias 2 de abr. de 2016
Luciano fiz do jeito que explicou porém continua sem vim dado nenhum
ele deveria pelo menos chegar la na outra classe ou não?
para degub
<p:outputLabel value="Setor" for="idSetores" /> <p:selectOneMenu id="idSetores" value="#{controleSos.pesquisaSos.sSetor}"> <f:selectItem itemLabel="Selecione" itemValue="" /> <f:selectItems value="#{controleSos.selectItensSetores}" /> </p:selectOneMenu>
` public List getSelectItenSetores() {
if ( selectItensSetores == null ) {
selectItensSetores = new ArrayList < SelectItem > () ;
for ( Setores s : buscaSetores () ) {
selectItensSetores .add ( new SelectItem ( s .getNome () , s .getSetor () )) ;
}
}
return selectItensSetores ;
}
`
lucciano01 2 de abr. de 2016
verifique se o método buscaSetores( ) não está trazendo a lista vazia
Douglas_Dias 3 de abr. de 2016
está não já testei via main, tem outro detalhe quando coloquei a variavel no xhtml ele não reconheceu ai criei um método get para o selectItensSetores ai não deu erro mais tbm não chamou nada
lucciano01 3 de abr. de 2016
` for ( Setores s : buscaSetores () ) {
System . out . println ( “ Nome : ” + s . getNome ( ));
System . out . println ( “ Setor : ” + s . geSetor ( ));
selectItensSetores . add ( new SelectItem ( s . getNome (), s . getSetor () ));
}
veja no console do servidor se está imprimindo os valores
`
Douglas_Dias 3 de abr. de 2016
dessa forma aki trouxe, estou achando que é a forma que estou chamando que está incorreta
`package com.montreal.gestaosos.controller;
import java.io.Serializable ;
import java.util.ArrayList ;
import java.util.List ;
import javax.faces.bean.ManagedBean;
import javax.faces.model.SelectItem;
import com.montreal.gestaosos.excecoes.DaoException ;
import com.montreal.gestaosos.model.PesquisaSOS ;
import com.montreal.gestaosos.model.RelatorioSos ;
import com.montreal.gestaosos.model.Setores ;
import com.montreal.gestaosos.service.GestaoSos ;
@ManagedBean
public class ControleSos implements Serializable {
private static final long serialVersionUID = 1L ;
private List < RelatorioSos > listSos = new ArrayList < RelatorioSos > ();
private List < Setores > listSetores = new ArrayList < Setores > ();
private List < SelectItem > selectItensSetores ;
private GestaoSos gestaoSos ;
private Setores setores = new Setores ();
private RelatorioSos relatorioSos = new RelatorioSos ();
private PesquisaSOS pesquisaSos = new PesquisaSOS ();
public static void main ( String [] args ) {
ControleSos sos = new ControleSos ();
sos . getSelectItenSetores ();
}
public List < SelectItem > getSelectItenSetores () {
if ( selectItensSetores == null ) {
selectItensSetores = new ArrayList < SelectItem > ();
for ( Setores s : buscaSetores () ) {
System . out . println ( "Nome:" + s . getNome ( ));
System . out . println ( "Setor:" + s . getSetor ( ));
selectItensSetores . add ( new SelectItem ( s . getNome (), s . getSetor () ));
}
}
return selectItensSetores ;
}
public List < RelatorioSos > pesquisaSos () {
System . out . println ( "chegou!!" );
return listSos ;
}
public List < Setores > buscaSetores () {
gestaoSos = new GestaoSos ();
try {
System . out . println ( "chegou!!" );
listSetores = gestaoSos . sPesquisaSetores ();
} catch ( DaoException e ) {
e . printStackTrace ();
}
return listSetores ;
}
public Setores getSetores () {
return setores ;
}
public void setSetores ( Setores setores ) {
this . setores = setores ;
}
public RelatorioSos getRelatorioSos () {
return relatorioSos ;
}
public void setRelatorioSos ( RelatorioSos relatorioSos ) {
this . relatorioSos = relatorioSos ;
}
public PesquisaSOS getPesquisaSos () {
return pesquisaSos ;
}
public void setPesquisaSos ( PesquisaSOS pesquisaSos ) {
this . pesquisaSos = pesquisaSos ;
}
public List < Setores > getlistSetores () {
return listSetores ;
}
public List < Setores > getselectItensSetores () {
return listSetores ;
}
}
`
Douglas_Dias 3 de abr. de 2016
Luciano funcionou estava retornando a lista ao inves do método muito obrigado.