Fórum Proprietie faltando na minha classe Vendas #9801

02/10/2009

0

Professor o que pode ser este problema! preciso de sua ajuda pois quando estamos aprendendo ficamos as vezes ancioso por não dar certo!

Ruinaldo

Ruinaldo

Responder

Posts

02/10/2009

Henrique Weissmann

Ruinaldo,

o que ocorre é o seguinte: as propriedades no Java são definidas usando-se as convenções dos Java Beans.

Encontrei este texto na internet que pode lhe ajudar a se aprofundar no assunto: http://www.jeebrasil.com.br/mostrar/23

Com relação ao seu caso específico, faça o seguinte:

verifique se a sua classe devmedia.db.Vendas possui um método chamado setProduto, e uma função chamada getProduto

Supondo que o seu atributo seja uma classe chamada Produto, estes dois métodos deveriam ter as seguintes assinaturas:

public void setProduto(Produto valor)

public Produto getProduto()


Responder

Gostei + 0

14/10/2009

Ruinaldo

Profesor tiver que dar uma paradinha mais ja voltei

Bom aquele link esta quebrado estive olhando no site me parace que todos os artigos estão com o mesmo problema!

Professor o que vema a ser este problema: (imagem abaixo)
o meu managaBean que esta sendo usando é este:




public class MaterialFaces {

    private MaterialDao materDao = new MaterialDao();
    private CadMaterial selectMaterial;
    private List<CadMaterial> material;

    public MaterialFaces() {
    }

    public String startAddMaterial(){
        selectMaterial = new CadMaterial();
        return "gotoNewAddMaterial";
    }

    public String finishAddMaterial() throws ClassNotFoundException, SQLException{
        materDao.add(selectMaterial);
        material = null;
        return "cadMarerialSucesso";
    }

    public List<CadMaterial> getMaterial() throws ClassNotFoundException, SQLException{
        if(material == null){
            material = materDao.getAllMaterial();
        }
      
        return material;
    }

    public String startEditMaterial(){
           return "gotoEditMaterial";
    }

    public String finishEditMatrial()throws ClassNotFoundException, SQLException{
        materDao.set(selectMaterial);
        material = null;
        return "gotoListMaterial";
    }
     public String startRemoverMaterial(){
           return "gotoRemoverMaterial";
    }
    public String removeMatrial() throws ClassNotFoundException, SQLException{
        materDao.delete(selectMaterial);
        material = null;
        return "gotoListMaterial";
    }



    public CadMaterial getSelectMaterial() {
        return selectMaterial;
    }

    public void setSelectMaterial(CadMaterial selectMaterial) {
        this.selectMaterial = selectMaterial;
    }



}






Responder

Gostei + 0

14/10/2009

Henrique Weissmann

Ruinaldo,

esta mensagem é típica de quando digitamos um nome de propriedade ou método de um managed bean incorretamente.

O arquivo jsf irá ser interpretado e, no momento em que a propriedade ou função não for encontrada, esta excessão será disparada.

Outra possibilidade consiste no fato do próprio nome do managed bean estar sendo digitado incorretamente: na mensagem é mencionado ManagaBeans. O nome é meio suspeito. Voce realmente mapeou o bean com este nome?

Será que você poderia nos enviar o trecho jsf que referencia este bean?
Responder

Gostei + 0

22/10/2009

Ruinaldo

Professor este problema ja resolvi, porém agora tenho uma dúvida quanto a uma classe converter o erro mostrado é:
exception javax.servlet.ServletException: Expression Error: Named Object: SerieConverter not found.root cause javax.faces.FacesException: Expression Error: Named Object: SerieConverter not found.note The full stack traces of the exception and its root causes are available in the Sun GlassFish Enterprise Server v2.1 logs.
Responder

Gostei + 0

22/10/2009

Ruinaldo

Professor esqueça sobre a última mensagem o meu problema é este:


Thu Oct 22 12:54:05 BRST 2009 WARN: Invalid value for server variable named , falling back to sane default of .
Thu Oct 22 12:54:05 BRST 2009 WARN: Invalid value for server variable named , falling back to sane default of .
sourceId=j_id_id63:j_id_id120[severity=(ERROR 2), summary=(j_id_id63:j_id_id120: An error occurred when processing your submitted information. ), detail=(j_id_id63:j_id_id120: An error occurred when processing your submitted information. )];|WARNING: FacesMessage(s) have been enqueued, but may not have been displayed.
sourceId=j_id_id63:j_id_id120[severity=(ERROR 2), summary=(j_id_id63:j_id_id120: An error occurred when processing your submitted information. ), detail=(j_id_id63:j_id_id120: An error occurred when processing your submitted information. )]

Responder

Gostei + 0

22/10/2009

Henrique Weissmann

Ruinaldo,

você tem mais detalhes para nos fornecer sobre este seu problema?
Com base apenas na sua última mensagem não há muito o que possa ser dito ou analisado.
Responder

Gostei + 0

22/10/2009

Ruinaldo

Caro professor estou tentando fazer um pequeno cadastro  e nele eu tenho tres classes
CadSerie, CadMaterial e CadMaterialSerie

CadSerie
 private Integer id;
 private String turno;
 private String desSerie;

Com Get/Set

CadMaterial
    private Integer id;
    private String descMaterial;
  
Com Get/Set

CadMaterialSerie
    private Integer id;
    private CadMaterial idMaterial;
    private CadSerie idSerie;
    private Integer qtd;

Com Get/Set

Meus Daos
 
*Professor colocarei somente o Dao da classe SerieMaterial pois os Daos das outras classe ja usei e ele estão belezinha, pois ja usei pra fazer o cadastro de serie e material e nao tive nenhum problema, mais caso seja necessario dar uma olhada te envio.

SerieMaterial

private static final long serialVersionUID = 1L;
    private MaterialDao matDao = new MaterialDao();
    private SerieDao serDao = new SerieDao();
   

    public MateriaSerieDao(){
        super();
    }

    public boolean add(CadMaterialSerie matSer)throws ClassNotFoundException, SQLException {
        PreparedStatement ps =   getPreparedStatement("INSERT INTO csl.cad_material_serie values (?,?,?,?)");
        ps.setInt(1, matSer.getId());
        ps.setInt(2, matSer.getIdMaterial().getId());
        ps.setInt(3, matSer.getIdSerie().getId());
        ps.setInt(4, matSer.getQtd());
        int toReturn = ps.executeUpdate();
        ps.close();
        return toReturn > 0 ;
    }
    public boolean set(CadMaterialSerie matSer)throws ClassNotFoundException, SQLException{
        PreparedStatement ps = getPreparedStatement("update csl.cad_material_serie set id_material=?, id_serie=?, qtd=? where id=?");
        ps.setInt(1, matSer.getIdMaterial().getId());
        ps.setInt(2, matSer.getIdSerie().getId());
        ps.setInt(3, matSer.getQtd());
        ps.setInt(5,matSer.getId());
        int toReturn = ps.executeUpdate();
        ps.close();
        return toReturn > 0 ;
    }

    public boolean delete (CadMaterialSerie matSer)throws ClassNotFoundException, SQLException{
          PreparedStatement ps = getPreparedStatement("DELETE from csl.cad_material_serie where id=?");
            ps.setInt(1, matSer.getId());
            int toReturn = ps.executeUpdate();
         ps.close();
         return toReturn > 0 ;
        }
    public List<CadMaterialSerie> getAllMaterialSerie()throws ClassNotFoundException, SQLException{
        List<CadMaterialSerie> toReturn = new LinkedList<CadMaterialSerie>();
        ResultSet rs = getStatement().executeQuery("Select * from csl.cad_material_serie");
            while (rs.next()){
                CadMaterialSerie MatSer = new CadMaterialSerie();
                populateMaterialSerie(MatSer, rs);
                toReturn.add(MatSer);
            }
        rs.close();
        return toReturn;
    }

    private void populateMaterialSerie (CadMaterialSerie matSer, ResultSet rs) throws SQLException, ClassNotFoundException{
        matSer.setId(rs.getInt("id"));
        matSer.setIdMaterial(matDao.getById(rs.getInt("id_material")));
        matSer.setIdSerie(serDao.getById(rs.getInt("id_serie")));
    }

    public CadMaterialSerie getById(int idPessoa)throws ClassNotFoundException, SQLException{
        PreparedStatement ps = getPreparedStatement ("select * from csl.cad_material_serie where id=?");
        ps.setInt(1, idPessoa);
        ResultSet rs = ps.executeQuery();
        if (!rs.next())return null;
        CadMaterialSerie toReturn = new CadMaterialSerie();
        populateMaterialSerie (toReturn, rs);
        rs.close();
        ps.close();
        return toReturn;
    }

Meus ManegeBens

*Professor colocarei somente o ManagBen da classe SerieMaterial pois os ManagBen das outras classe ja usei e ele estão belezinha, pois ja usei pra fazer o cadastro de serie e material e nao tive nenhum problema, mais caso seja necessario dar uma olhada te envio.

public class MaterialSerieFaces {

    /** Creates a new instance of MaterialSerieFaces */
    private SerieDao seriDao = new SerieDao();
    private MaterialDao mateDao = new MaterialDao();

    private MateriaSerieDao matSeriDao = new MateriaSerieDao();
    private CadMaterialSerie selectMatSeri;
    private List<CadMaterialSerie> MatSeri;


    public MaterialSerieFaces() {
    }


    public String startAddMaterialSerie(){
        selectMatSeri = new CadMaterialSerie();
        return "gotoAddNewMaterSerie";
    }

    public String finishAddMaterialSerie() throws ClassNotFoundException, SQLException{
        matSeriDao.add(selectMatSeri);
        MatSeri = null;
        return "gotoListMatSerie";
    }

   public List<CadMaterialSerie> getMaterialSerie() throws ClassNotFoundException, SQLException{
        if(MatSeri == null){
            MatSeri = matSeriDao.getAllMaterialSerie();
        }
        return MatSeri;
    }

    public String startEditMaterialSerie(){
           return "gotoEditMatSerie";
    }

    public String finishEditMaterialSerie()throws ClassNotFoundException, SQLException{
        matSeriDao.set(selectMatSeri);
        matSeriDao = null;
        return "gotoListMatSerie";
    }
    public String removeMaterialSerie() throws ClassNotFoundException, SQLException{
        matSeriDao.delete(selectMatSeri);
        matSeriDao = null;
        return "gotoListMatSerie";
    }

    public CadMaterialSerie getSelectMatSeri() {
        return selectMatSeri;
    }

    public void setSelectMatSeri(CadMaterialSerie selectMatSeri) {
        this.selectMatSeri = selectMatSeri;
    }

  

    public List<SelectItem> getSerie() throws ClassNotFoundException, SQLException{
        List<SelectItem> toReturn = new LinkedList<SelectItem>();
        for (CadSerie ser: seriDao.getAllSerie()){
            toReturn.add(new SelectItem(ser, ser.getDesSerie()));
        }
        return toReturn;
    }
     public List<SelectItem> getMaterial() throws ClassNotFoundException, SQLException{
        List<SelectItem> toReturn = new LinkedList<SelectItem>();
        for (CadMaterial MatSer: mateDao.getAllMaterial()){
            toReturn.add(new SelectItem(MatSer, MatSer.getDescMaterial()));
        }
        return toReturn;
    }

Meus Converter

Classe Serie

    public class SerieConverter implements Converter{
    private SerieDao serieDao = new SerieDao();


    public SerieConverter(){
     }

    public Object getAsObject(FacesContext context, UIComponent component, String value) {
        Integer id = Integer.parseInt(value);
        try {
            return serieDao.getById(id);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(SerieConverter.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SQLException ex) {
            Logger.getLogger(SerieConverter.class.getName()).log(Level.SEVERE, null, ex);
        }
        return null;
      
    }

    public String getAsString(FacesContext context, UIComponent component, Object value) {
        CadSerie serie = (CadSerie)value;
        return String.valueOf(serie.getId());
    }


Classe Material
     public class MaterialConverter implements Converter{
     private MaterialDao mateDao = new MaterialDao();


    public MaterialConverter(){
     }

    public Object getAsObject(FacesContext context, UIComponent component, String value) {
        Integer id = Integer.parseInt(value);
        try {
            return mateDao.getById(id);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(MaterialConverter.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SQLException ex) {
            Logger.getLogger(MaterialConverter.class.getName()).log(Level.SEVERE, null, ex);
        }
        return null;
      
    }

    public String getAsString(FacesContext context, UIComponent component, Object value) {
        CadMaterial mater = (CadMaterial)value;
        return String.valueOf(mater.getId());
    }
}

Não Fiz o Converter da classe MaterialSerie Por acha que não seja necessario!

Fico no anardo de uma resposta ancioso.

Abraços




Responder

Gostei + 0

22/10/2009

Ruinaldo

Fautou a minha pagina:

Em uma pagina eu tenho este link:"<h:commandLink action="#{MaterialSerie.startAddMaterialSerie}" value="Adicionar"/>" quando clico nele ele me direciona pra pagina que tem o cogigo abaixo.

"<tbody>
                <tr bgcolor="#0000ff">
                    <td colspan="5" height="25" class="rotulos" align="center"><strong><font color="#ffff00">Cadastro de Material por Serie Coletivo</font></strong></td>
                </tr>
                 <tr>
                    <td class="rotulos" height="50px" align="right">ID:</td>
                    <td class="campos" width="600"><h:inputText size="8" value="#{MaterialSerie.selectMatSeri.id}"></h:inputText></td>
                </tr>
                     <tr>
                    <td class="rotulos" height="50px" align="right">Série:</td>
                    <td class="campos" width="600"><h:selectOneMenu value="#{MaterialSerie.selectMatSeri.idSerie}">
                                                            <f:selectItems value="#{MaterialSerie.serie}"/>
                                                            <f:converter converterId="SerieConverter"/>
                                                  </h:selectOneMenu></td>

                </tr> <tr>
                    <td class="rotulos" height="50px" align="right">Material:</td>
                    <td class="campos" width="600"><h:selectOneMenu value="#{MaterialSerie.selectMatSeri.id}">
                                                        <f:selectItems value="#{MaterialSerie.material}"/>
                                                        <f:converter converterId="MaterialConverter"/>
                                                  </h:selectOneMenu></td>

                </tr>
              
                <tr>
                    <td class="rotulos" height="50px" align="right">Quantidade:</td>
                    <td class="campos" width="600"><h:inputText size="8" value="#{MaterialSerie.selectMatSeri.qtd}"></h:inputText></td>
                </tr>

<h:commandLink action="#{MaterialSerie.finishAddMaterialSerie}" value="Adicionar"/>
                  
          </tbody>"

O que acho mais esquisito é que todos os link aparentemente estão fuincionando pois em nenhum momento sou direcionado para pagina de erro.
Responder

Gostei + 0

22/10/2009

Ruinaldo

Professor descobri o error  estava na seguinte linha:
 <td class="rotulos" height="50px" align="right">Material:</td>
                    <td class="campos" width="600"><h:selectOneMenu value="#           {MaterialSerie.selectMatSeri.id}">
                                                        <f:selectItems value="#{MaterialSerie.material}"/>
                                                        <f:converter converterId="MaterialConverter"/>
                                                  </h:selectOneMenu></td>

No lugar de  id era idMaterial

Não sei, professor as vezes acho que sou conseguir descobrir  o erro quando eu ja o tenho postado, acho que vou procurar um psicológo
kkkkkkk!

Abraços
Responder

Gostei + 0

22/10/2009

Henrique Weissmann

Sem problemas Ruinaldo!

Precisando de qualquer coisa estamos aqui

(estava justamente lendo seu chamado quando postou sua resposta!)
Responder

Gostei + 0

22/10/2009

Ruinaldo

Em primeiro lugar professor teve um feedback que marquei errado acho que pela presa peço desculpa! Seria até injustiça minha dizer que você ou o Dyego Carmo não são antenciosos, pois os acho muito atenciosos comigo!

Em segundo lugar estou com mais um probleminha kkkkk! nesse codigo!  Na realidada não é mostrado nenhuma tela de error o pro esta quando faço a busca do banco ele consegue trazer value="#{item.idSerie.desSerie}"/> a serie, value="#{item.idMaterial.descMaterial}"/> o material porém ele não traz a quantidade value="#{item.qtd}"/> bom o esquisito é que esta quantidade existe no banco!


<h:dataTable border="1" var="item" value="#{MaterialSerie.materialSerie}">
                   

                     <h:column>
                        <f:facet name="header">
                            <h:outputText  styleClass="rotulos"  value="SERIE"/>
                        </f:facet>
                         <h:outputText  styleClass="campos"  value="#{item.idSerie.desSerie}"/>
                    </h:column>
                     <h:column>
                        <f:facet name="header">
                            <h:outputText  styleClass="rotulos"  value="MATERIAL"/>
                        </f:facet>
                         <h:outputText  styleClass="campos"  value="#{item.idMaterial.descMaterial}"/>
                    </h:column>
                    <h:column>
                        <f:facet name="header">
                            <h:outputText  styleClass="rotulos"  value="QTD"/>
                        </f:facet>
                         <h:outputText  styleClass="campos"  value="#{item.qtd}"/>
                    </h:column>

                    <h:column>
                        <f:facet name="header">
                            <h:outputText  styleClass="rotulos"  value="COD"/>
                        </f:facet>
                        <h:commandLink  value="#{item.id}" action="#{MaterialSerie.startEditMaterialSerie}">
                            <f:setPropertyActionListener target="#{MaterialSerie.selectMatSeri}" value="#"/>
                    </h:commandLink>


                    </h:column>
                </h:dataTable>
Responder

Gostei + 0

22/10/2009

Ruinaldo

Bem caro professor ja encotrei o problema o mesmo esta na classe MateriaSerieDao faltava a linha que sta em destaque.



 private void populateMaterialSerie (CadMaterialSerie matSer, ResultSet rs) throws SQLException, ClassNotFoundException{
    matSer.setId(rs.getInt("id"));
    matSer.setQtd(rs.getInt("qtd"));
    matSer.setIdMaterial(matDao.getById(rs.getInt("id_material")));         matSer.setIdSerie(serDao.getById(rs.getInt("id_serie"))); }

abraços
Responder

Gostei + 0

23/10/2009

Ruinaldo

 
Professor não estou conseguindo uso do metodo editar da classe MaterialSerie:

Meu Pojo
 
public class CadMaterialSerie implements java.io.Serializable {
private static final long serialVersionUID = 1L;

    private Integer id;
    private CadMaterial idMaterial;
    private CadSerie idSerie;
    private Integer qtd;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public CadMaterial getIdMaterial() {
        return idMaterial;
    }

    public void setIdMaterial(CadMaterial idMaterial) {
        this.idMaterial = idMaterial;
    }

    public CadSerie getIdSerie() {
        return idSerie;
    }

    public void setIdSerie(CadSerie idSerie) {
        this.idSerie = idSerie;
    }

    public Integer getQtd() {
        return qtd;
    }

    public void setQtd(Integer qtd) {
        this.qtd = qtd;
    }

     public String toString(){
        return String.valueOf(id);
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final CadMaterialSerie other = (CadMaterialSerie) obj;
        if (this.id != other.id && (this.id == null || !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 83 * hash + (this.id != null ? this.id.hashCode() : 0);
        return hash;
    }



Meu Dao da classe MaterialSerie
public class MateriaSerieDao extends DatabaseUtil {

    private static final long serialVersionUID = 1L;
    private MaterialDao matDao = new MaterialDao();
    private SerieDao serDao = new SerieDao();
   

    public MateriaSerieDao(){
        super();
    }

    public boolean add(CadMaterialSerie matSer)throws ClassNotFoundException, SQLException {
        PreparedStatement ps =   getPreparedStatement("INSERT INTO csl.cad_material_serie values (?,?,?,?)");
        ps.setInt(1, matSer.getId());
        ps.setInt(2, matSer.getIdMaterial().getId());
        ps.setInt(3, matSer.getIdSerie().getId());
        ps.setInt(4, matSer.getQtd());
        int toReturn = ps.executeUpdate();
        ps.close();
        return toReturn > 0 ;
    }
    public boolean set(CadMaterialSerie matSer)throws ClassNotFoundException, SQLException{
        PreparedStatement ps = getPreparedStatement("update csl.cad_material_serie set id_material=?, id_serie=?, qtd=? where id=?");
        ps.setInt(1, matSer.getIdMaterial().getId());
        ps.setInt(2, matSer.getIdSerie().getId());
        ps.setInt(3, matSer.getQtd());
        ps.setInt(5,matSer.getId());
        int toReturn = ps.executeUpdate();
        ps.close();
        return toReturn > 0 ;
    }

    public boolean delete (CadMaterialSerie matSer)throws ClassNotFoundException, SQLException{
          PreparedStatement ps = getPreparedStatement("DELETE from csl.cad_material_serie where id=?");
            ps.setInt(1, matSer.getId());
            int toReturn = ps.executeUpdate();
         ps.close();
         return toReturn > 0 ;
        }
    public List<CadMaterialSerie> getAllMaterialSerie()throws ClassNotFoundException, SQLException{
        List<CadMaterialSerie> toReturn = new LinkedList<CadMaterialSerie>();
        ResultSet rs = getStatement().executeQuery("Select * from csl.cad_material_serie");
            while (rs.next()){
                CadMaterialSerie MatSer = new CadMaterialSerie();
                populateMaterialSerie(MatSer, rs);
                toReturn.add(MatSer);
            }
        rs.close();
        return toReturn;
    }

    private void populateMaterialSerie (CadMaterialSerie matSer, ResultSet rs) throws SQLException, ClassNotFoundException{
        matSer.setId(rs.getInt("id"));
        matSer.setQtd(rs.getInt("qtd"));
        matSer.setIdMaterial(matDao.getById(rs.getInt("id_material")));
        matSer.setIdSerie(serDao.getById(rs.getInt("id_serie")));
    }

    public CadMaterialSerie getById(int idPessoa)throws ClassNotFoundException, SQLException{
        PreparedStatement ps = getPreparedStatement ("select * from csl.cad_material_serie where id=?");
        ps.setInt(1, idPessoa);
        ResultSet rs = ps.executeQuery();
        if (!rs.next())return null;
        CadMaterialSerie toReturn = new CadMaterialSerie();
        populateMaterialSerie (toReturn, rs);
        rs.close();
        ps.close();
        return toReturn;
    }



}
Minha ManageBean MaterialSerieFaces
public class MaterialSerieFaces {

    /** Creates a new instance of MaterialSerieFaces */
    private SerieDao seriDao = new SerieDao();
    private MaterialDao mateDao = new MaterialDao();

    private MateriaSerieDao matSeriDao = new MateriaSerieDao();
    private CadMaterialSerie selectMatSeri;
    private List<CadMaterialSerie> MatSeri;


    public MaterialSerieFaces() {
    }


    public String startAddMaterialSerie(){
        selectMatSeri = new CadMaterialSerie();
        return "gotoAddNewMaterSerie";
    }

    public String finishAddMaterialSerie() throws ClassNotFoundException, SQLException{
        matSeriDao.add(selectMatSeri);
        MatSeri = null;
        return "gotoListMatSerie";
    }

   public List<CadMaterialSerie> getMaterialSerie() throws ClassNotFoundException, SQLException{
        if(MatSeri == null){
            MatSeri = matSeriDao.getAllMaterialSerie();
        }
        return MatSeri;
    }

    public String startEditMaterialSerie(){
           return "gotoEditMatSerie";
    }

    public String finishEditMaterialSerie()throws ClassNotFoundException, SQLException{
        matSeriDao.set(selectMatSeri);
        matSeriDao = null;
        return "gotoListMatSerie";
    }
    public String removeMaterialSerie() throws ClassNotFoundException, SQLException{
        matSeriDao.delete(selectMatSeri);
        matSeriDao = null;
        return "gotoListMatSerie";
    }

    public CadMaterialSerie getSelectMatSeri() {
        return selectMatSeri;
    }

    public void setSelectMatSeri(CadMaterialSerie selectMatSeri) {
        this.selectMatSeri = selectMatSeri;
    }

  

    public List<SelectItem> getSerie() throws ClassNotFoundException, SQLException{
        List<SelectItem> toReturn = new LinkedList<SelectItem>();
        for (CadSerie ser: seriDao.getAllSerie()){
            toReturn.add(new SelectItem(ser, ser.getDesSerie()));
        }
        return toReturn;
    }
     public List<SelectItem> getMaterial() throws ClassNotFoundException, SQLException{
        List<SelectItem> toReturn = new LinkedList<SelectItem>();
        for (CadMaterial MatSer: mateDao.getAllMaterial()){
            toReturn.add(new SelectItem(MatSer, MatSer.getDescMaterial()));
        }
        return toReturn;
    }


}


Minha página EditSerieMate
  <h:dataTable border="1" var="item" value="#{MaterialSerie.materialSerie}">
                   

                     <h:column>
                        <f:facet name="header">
                            <h:outputText  styleClass="rotulos"  value="SERIE"/>
                        </f:facet>
                         <h:outputText  styleClass="campos"  value="#{item.idSerie.desSerie}"/>
                    </h:column>
                     <h:column>
                        <f:facet name="header">
                            <h:outputText  styleClass="rotulos"  value="MATERIAL"/>
                        </f:facet>
                         <h:outputText  styleClass="campos"  value="#{item.idMaterial.descMaterial}"/>
                    </h:column>
                    <h:column>
                        <f:facet name="header">
                            <h:outputText  styleClass="rotulos"  value="QTD"/>
                        </f:facet>
                         <h:outputText  styleClass="campos"  value="#{item.qtd}"/>
                    </h:column>

                    <h:column>
                        <f:facet name="header">
                            <h:outputText  styleClass="rotulos"  value="COD"/>
                        </f:facet>
                        <h:commandLink  value="Editar" action="#{MaterialSerie.startEditMaterialSerie}">
                            <f:setPropertyActionListener target="#{MaterialSerie.selectMatSeri}" value="#"/>
                    </h:commandLink>


                    </h:column>
                </h:dataTable>
   </h:form>

Minha página EditarSerieMate

<h:commandLink action="#{MaterialSerie.startEditMaterialSerie}" value="Editar"/>

<table border="0" cellspacing="0" cellpadding="0" width="305">
        <tr>
          <td class="rotulos">ID:</td>
          <td width="322" class="campos"><h:inputText disabled="true" size="2" value="#{MaterialSerie.selectMatSeri.id}"></h:inputText></td>
        </tr>
         <tr>
          <td class="rotulos">SERIE:</td>
          <td width="322" class="campos"><h:selectOneMenu value="#{MaterialSerie.selectMatSeri.idSerie}">
                                                            <f:selectItems value="#{MaterialSerie.serie}"/>
                                                           <f:converter converterId="SerieConverter"/>
                                                  </h:selectOneMenu></td>
        </tr>

        <tr>
          <td class="rotulos">MATERIAL:</td>
          <td width="322" class="campos"><h:selectOneMenu value="#{MaterialSerie.selectMatSeri.idMaterial}">
                                                        <f:selectItems value="#{MaterialSerie.material}"/>
                                                        <f:converter converterId="MaterialConverter"/>
                                                  </h:selectOneMenu></td>
        </tr>
         <tr>
          <td class="rotulos">QTD:</td>
          <td width="322" class="campos"><h:inputText  size="2" value="#{MaterialSerie.selectMatSeri.qtd}"></h:inputText></td>
        </tr>
     </table>


Minha regra de mavegação
    
  
    <navigation-rule>
        <from-view-id>/MaterialporSerie.jsp</from-view-id>
        <navigation-case>
            <from-outcome>gotoAddNewMaterSerie</from-outcome>
            <to-view-id>/AdicionaMaterialSerie.jsp</to-view-id>
        </navigation-case>
      
 <navigation-case>
            <from-outcome>gotoEditMatSerie</from-outcome>
            <to-view-id>/EditSerieMate.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>welcome</from-outcome>
            <to-view-id>/welcomeJSF.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>gotoListMaterialSerie</from-outcome>
            <to-view-id>/Cadastros.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>

  
 <navigation-rule>
        <from-view-id>/AdicionaMaterialSerie.jsp</from-view-id>
        <navigation-case>
            <from-outcome>gotoListMatSerie</from-outcome>
            <to-view-id>/sucessoCadastroSerieMaterial.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>welcome</from-outcome>
            <to-view-id>/welcomeJSF.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>gotoListMatSerie</from-outcome>
            <to-view-id>/MaterialporSerie.jsp</to-view-id>
        </navigation-case>
</navigation-rule>
   
<navigation-rule>
        <from-view-id>/sucessoCadastroSerieMaterial.jsp</from-view-id>
        <navigation-case>
            <from-outcome>gotoAddNewMaterSerie</from-outcome>
            <to-view-id>/AdicionaMaterialSerie.jsp</to-view-id>
        </navigation-case>
      <navigation-case>
            <from-outcome>gotoListSerieMaterial</from-outcome>
            <to-view-id>/MaterialporSerie.jsp</to-view-id>
        </navigation-case>
  </navigation-rule>
   
  <navigation-rule>
        <from-view-id>/EditSerieMate.jsp</from-view-id>
        <navigation-case>
            <from-outcome>gotoEditMatSerie</from-outcome>
            <to-view-id>/EditarSerieMate.jsp</to-view-id>
</navigation-case>
       
<navigation-case>
            <from-outcome>gotoListMaterialSerie</from-outcome>
            <to-view-id>/MaterialporSerie.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    
<converter>
        <converter-id>SerieConverter</converter-id>
        <converter-class>classses.coverter.SerieConverter</converter-class>
    </converter>
    <converter>
        <converter-id>MaterialConverter</converter-id>
        <converter-class>classses.coverter.MaterialConverter</converter-class>
    </converter>
    <navigation-rule>
        <from-view-id>/EditarSerieMate.jsp</from-view-id>
        <navigation-case>
            <from-outcome>gotoListMaterialSerie</from-outcome>
            <to-view-id>/EditSerieMate.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
</faces-config>



Responder

Gostei + 0

23/10/2009

Henrique Weissmann

Oi Ruinaldo,

com relação a este seu último post, o que exatamente você não está conseguindo fazer ou dando errado? (não ficou claro)
Responder

Gostei + 0

23/10/2009

Ruinaldo

  Professor o problema é que eu não estou conseguindo editar, quando eu clico no link que faz uso do método   public String finishEditMaterialSerie()throws ClassNotFoundException, SQLException{
        matSeriDao.set(selectMatSeri);
        matSeriDao = null;
        return "gotoListMatSerie";
    }   não dar erro, porém quando vou olhar no banco a edição nao aconteceu
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar