dúvida quanto ao ManageBean

25/08/2009

Professor estou desenvolvendo um projeto seguindo as orientações do curso de JSF, porém estou usando o eclipse crie uma classe de teste chamada "User" com dois campos criei os metodos Get/Set, no faces config criei um manageBean chamado "user" quando vou usar um componente em uma página que vou colocar dentro da propriendade value ele nao consegue ver o manageBean que crie quando dou Ctrl+space lembrando que as minhas pagina tem extenção .jsp


Código da classe:

package Aula;

public class User {
    private String nome;
    private Integer idade;

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public Integer getIdade() {
        return idade;
    }

    public void setIdade(Integer idade) {
        this.idade = idade;
    }
}

Código do XML

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>Aula01</display-name>
  <welcome-file-list>
    <welcome-file>forward.jsp</welcome-file>
  </welcome-file-list>
 
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
  </servlet-mapping>
</web-app>

Código do faces config:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE faces-config PUBLIC
    "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
    "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<faces-config>
    <managed-bean>
        <managed-bean-name>user</managed-bean-name>
        <managed-bean-class>Aula.User</managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
        <managed-property>
            <property-name>idade</property-name>
            <property-class>java.lang.Integer</property-class>
            <value></value>
        </managed-property>
        <managed-property>
            <property-name>nome</property-name>
            <property-class>java.lang.String</property-class>
            <value></value>
        </managed-property>
    </managed-bean>
    <navigation-rule>
        <display-name>welcome</display-name>
        <from-view-id>/welcome.jsp</from-view-id>
        <navigation-case>
            <from-outcome>secondPage</from-outcome>
            <to-view-id>/SecondPage.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    <navigation-rule>
        <display-name>SecondPage</display-name>
        <from-view-id>/SecondPage.jsp</from-view-id>
        <navigation-case>
            <from-outcome>homePage</from-outcome>
            <to-view-id>/welcome.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>

</faces-config>

Código da página:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="f"  uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h"  uri="http://java.sun.com/jsf/html"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<f:view>
    <h:outputText value="#{Não entendo porque não aparece o meu manageBem quando dou Crtl+space minha dúvida é está"></h:outputText>
<h:form>
    <h:commandButton action="homePage"></h:commandButton>
   
</h:form>

</f:view>
</body>
</html>

Ruinaldo

Ruinaldo

Curtidas 0

Respostas

Dyego Carmo

Dyego Carmo

25/08/2009

Boa noite !

Antes de mais nada gostaria de agradecer a sua confianca em nossa consultoria !!!

Quanto ao projeto, gostaria de saber se o Plugin WTP (Web Tools Project) está instalado no seu eclipse ?


GOSTEI 0
Ruinaldo

Ruinaldo

25/08/2009

Professor primeiramente gostaria de dizer que adoro suas aula, muito bem elaboras. Professor nao sei o senhor poderia me informa como fazer isso
GOSTEI 0
Dyego Carmo

Dyego Carmo

25/08/2009

Opa !

Valeu pelo feedback :) Sempre costumo me por no lugar do usuario antes de criar alguma video aula, que bom que elas estão sendo uteis :)

Quanto ao seu problema, tente baixar estar versão:

http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo/R/eclipse-jee-galileo-win32.zip


E teste, me avise qualquer coisa :)
GOSTEI 0
Ruinaldo

Ruinaldo

25/08/2009

Professor baixei a versao GALILEO, fiz  todo o projeto novamente e continuo com o mesmo problema gostaria que me sera então que não é o Web Toos Project que avia sitado antes continuo sem saber como instalar andei procurando algo no Google mais nao deu certo na hora da instalação deu uns probleminhas de dependência preciso resolver este problema logo Valeu!










GOSTEI 0
Dyego Carmo

Dyego Carmo

25/08/2009

Que estranho...

(na realidade tudo no eclipse é mais chato)

Click com o botao DIRETO em cima do arquivo JSP e tem um "Open With Editor"

Me diga quais opcoes tem...

GOSTEI 0
Dyego Carmo

Dyego Carmo

25/08/2009

Aproveita e me manda este projeto ZIPADO do eclipse...

GOSTEI 0
Ruinaldo

Ruinaldo

25/08/2009


Respondendo a primeira pergunta profeessor não tenho certeza se é isso que o senhor quer saber mais postei uma imagem pra ver se ajuda:





Não consegui fazer Upload do projeto pois o mesmo é grande deu error na hora de fazer upload vou ver o que psso fazer pra mandar tal projeto para você!


Professor na tentativa de resolver o problema anterior acho que criei outro: pois baixei o eclipse refiz o projeto porém na hora de roda ele mostrou tal error:

Preciso de sua ajuda o quanto antes!!!!!!!!!!! HELP!!!!!!!!!!


GOSTEI 0
Dyego Carmo

Dyego Carmo

25/08/2009

Opa !

Tente abrir com o WEB EDITOR.... se mesmo assim nao funcionar...

Envie o projeto  para o meu Email dyego.leal@gmail.com

Valeu !

GOSTEI 0
Dyego Carmo

Dyego Carmo

25/08/2009

Olá ?

Alguma novidade ?

GOSTEI 0
Ruinaldo

Ruinaldo

25/08/2009

          Professor, acho que vou fazer meus projeto no Netbeans mesmo, porque minha prioridade no momento é aprender JSF, Hibernate e JPA quando eu enteder bem esses carinhas, ai parto para o eclipse. Tenho presa em começar a trabalhar com estes frames, por isso decidi nao perder tempo em configurar o eclipse, acredito que não perderei muito tempo com configurações usando o Netbeans.
        Gostaria de saber se será você o orientador do curso de Hibernate?, se for vou adorar porque gosto muito de suas video aulas :), Então gostaria de saber com sera este curso? Não consegui mandar meu projeto porque minha net é lenta, Pretendo também na medida que for aprendendo a dominar tais frames e desenvolvendo um projeto.
         Gostaria então caro Diego de algumas informações do tipo: Que Netbeans usar? Que vou  precisar para configura-ló? para que eu possa começar o quanto antes. Não postei nos últimos dias porque estava muito ocupado.

Fico no aguardo de sua resposta o quando antes!!!
GOSTEI 0
Dyego Carmo

Dyego Carmo

25/08/2009

Olá !

Ótima escolha, o NetBeans é um IDE dito "PILHA COMPLETA" , ou seja, vem com tudo que voce precisa.
Instale a Versão 6.7 , mas não a completa , apenas aquela que tem os dispositivos para WEB...

http://services.netbeans.org/bouncer/index.php?product=netbeans-6.7.1-ml-java&os=windows

Quanto ao Orientador do Curso de Hibernate , sim posso ser eu... caso caia para o Henrrique voce pode pedir para a moderação transferir o chamado...

Posso marchar este chamado como concluído ?


GOSTEI 0
Ruinaldo

Ruinaldo

25/08/2009

O senhor poderia esperar so enquanto baixo este e instalo?
GOSTEI 0
Ruinaldo

Ruinaldo

25/08/2009

Caro professor Dyego,
   
      Só agora estou com tempo para ver seu curso, esta é a vantagem de se fazer curso on-line poder encaixar de acordo com o tempo. Gostaria de salientar mais uma vez que quero sempre poder tirar minhas dúvidas com vc ok amigo se assim for possivél. Vou deixar de bla..bla e vou ao que interesa vendo as aula de projeto do JSF  na aula 03 tive a seguinte dúvida e gostaria que o senhor pudese ver ela pra mim ainda dentro deste chamado se assim for possivél e depois o senhor pode encerra este chamado conto com sua compreenção.
 
      Caro Dyego enviei para o seu e-mail o meu projeto pois estou com um problema na classe ProdutoDao mais especificamente neste metodo abaixo: na parte selecionada ;

public boolean add(Produto prod)throws ClassNotFoundException, SQLException {
        PreparedStatement ps = getPreparedStatement("INSERT INTO aplicacaojsf.produto values (?,?,?,?)");
        ps.setInt(1, prod.getId());
        ps.setString(2, prod.getNome());
        ps.setInt(3, prod.getNumeroDeItens());
        ps.setDouble(4, prod.getPreco());
        return ps.execute();
    }
 Gostaria de saber se isso é problema de configuração do NetBens ou se foi algum erro na elaboração das classes essas classes refis duas vezes e o projeto tb.
GOSTEI 0
Ruinaldo

Ruinaldo

25/08/2009

Estou usando o bando de dados MySQL e servidor Glasfish!
GOSTEI 0
Dyego Carmo

Dyego Carmo

25/08/2009

OK ,

Estarei analisando e breve retorno.
GOSTEI 0
Ruinaldo

Ruinaldo

25/08/2009

Valeu professor!
GOSTEI 0
Dyego Carmo

Dyego Carmo

25/08/2009

Olá !

Qual é o problema neste metodo ? ele está me parecendo correto !

GOSTEI 0
Ruinaldo

Ruinaldo

25/08/2009

Pois então professor, o erro aparece para as linha em vermelho todas essa em vermelho!
public class ProdutoDao extends DatabaseUtil {

    private static final long serialVersionUID = 1L;
    public ProdutoDao(){
        super();
    }

    public boolean add(Produto prod)throws ClassNotFoundException, SQLException {
        PreparedStatement ps =  getPreparedStatement("INSERT INTO aplicacaojsf.produto values (?,?,?,?)");
        ps.setInt(1, prod.getId());
        ps.setString(2, prod.getNome());
        ps.setInt(3, prod.getNumeroDeItens());
        ps.setDouble(4, prod.getPreco());
         boolean toReturn = ps.execute();
         ps.close();
         return toReturn;
    }
    public boolean set(Produto prod)throws ClassNotFoundException, SQLException{
        PreparedStatement ps = getPreparedStatement("UPDAT aplicacaojsf.produto set id=?, nome=?, numeroDeItens=?, price=?");
         ps.setString(1,prod.getNome());
         ps.setInt(2, prod.getNumeroDeItens());
         ps.setDouble(3, prod.getPreco());
         boolean toReturn = ps.execute();
         ps.close();
         return toReturn;
    }

    public boolean delete (Produto prod)throws ClassNotFoundException, SQLException{
          PreparedStatement ps = getPreparedStatement("DELETE from aplicacaojsf.produto where id=?");
            ps.setInt(1, prod.getId());
            boolean toReturn = ps.execute();
            ps.close();
            return toReturn;
        }
    public List<Produto> getAllProduto()throws ClassNotFoundException, SQLException{
        List<Produto> toReturn = new LinkedList<Produto>();
        ResultSet rs = getStatement().executeQuery("Select * from aplicacaojsf.produto");
            while (rs.next()){
                Produto prod = new Produto();
                populateProd(prod, rs);
                toReturn.add(prod);
            }
        rs.close();
        return toReturn;
    }

    private void populateProd (Produto prod, ResultSet rs) throws SQLException{
        prod.setId(rs.getInt("id"));
        prod.setNome(rs.getString("nome"));
        prod.setNumeroDeItens(rs.getInt("numeroDeItens"));
        prod.setPreco(rs.getDouble("price"));

    }
    public Produto getById(int idProduto)throws ClassNotFoundException, SQLException{
        PreparedStatement ps = getPreparedStatement ("Delete from aplicacaojsf.produto where id=?");
        ps.setInt(1, idProduto);
        ResultSet rs = ps.executeQuery();
        if (!rs.next())return null;
        Produto toReturn = new Produto();
        populateProd (toReturn, rs);
        rs.close();
        ps.close();
        return toReturn;
    }



}
 
GOSTEI 0
Ruinaldo

Ruinaldo

25/08/2009

Pois então professor, o erro aparece para as linha em vermelho todas essa em vermelho!
public class ProdutoDao extends DatabaseUtil {

    private static final long serialVersionUID = 1L;
    public ProdutoDao(){
        super();
    }

    public boolean add(Produto prod)throws ClassNotFoundException, SQLException {
        PreparedStatement ps =  getPreparedStatement("INSERT INTO aplicacaojsf.produto values (?,?,?,?)");
        ps.setInt(1, prod.getId());
        ps.setString(2, prod.getNome());
        ps.setInt(3, prod.getNumeroDeItens());
        ps.setDouble(4, prod.getPreco());
         boolean toReturn = ps.execute();
         ps.close();
         return toReturn;
    }
    public boolean set(Produto prod)throws ClassNotFoundException, SQLException{
        PreparedStatement ps = getPreparedStatement("UPDAT aplicacaojsf.produto set id=?, nome=?, numeroDeItens=?, price=?");
         ps.setString(1,prod.getNome());
         ps.setInt(2, prod.getNumeroDeItens());
         ps.setDouble(3, prod.getPreco());
         boolean toReturn = ps.execute();
         ps.close();
         return toReturn;
    }

    public boolean delete (Produto prod)throws ClassNotFoundException, SQLException{
          PreparedStatement ps = getPreparedStatement("DELETE from aplicacaojsf.produto where id=?");
            ps.setInt(1, prod.getId());
            boolean toReturn = ps.execute();
            ps.close();
            return toReturn;
        }
    public List<Produto> getAllProduto()throws ClassNotFoundException, SQLException{
        List<Produto> toReturn = new LinkedList<Produto>();
        ResultSet rs = getStatement().executeQuery("Select * from aplicacaojsf.produto");
            while (rs.next()){
                Produto prod = new Produto();
                populateProd(prod, rs);
                toReturn.add(prod);
            }
        rs.close();
        return toReturn;
    }

    private void populateProd (Produto prod, ResultSet rs) throws SQLException{
        prod.setId(rs.getInt("id"));
        prod.setNome(rs.getString("nome"));
        prod.setNumeroDeItens(rs.getInt("numeroDeItens"));
        prod.setPreco(rs.getDouble("price"));

    }
    public Produto getById(int idProduto)throws ClassNotFoundException, SQLException{
        PreparedStatement ps = getPreparedStatement ("Delete from aplicacaojsf.produto where id=?");
        ps.setInt(1, idProduto);
        ResultSet rs = ps.executeQuery();
        if (!rs.next())return null;
        Produto toReturn = new Produto();
        populateProd (toReturn, rs);
        rs.close();
        ps.close();
        return toReturn;
    }



}
 
GOSTEI 0
Ruinaldo

Ruinaldo

25/08/2009

Professor o senhor acredita que isso possa ser uma ma configuração do Netbens?
GOSTEI 0
Ruinaldo

Ruinaldo

25/08/2009

Nada ainda professor????????????????
GOSTEI 0
Dyego Carmo

Dyego Carmo

25/08/2009

Opa...

Cola TODO codigo fonte desta classe aqui por favor !

GOSTEI 0
Dyego Carmo

Dyego Carmo

25/08/2009

Opa...

Cola TODO codigo fonte desta classe aqui por favor !

GOSTEI 0
Ruinaldo

Ruinaldo

25/08/2009


Pronto professor ai esta todo o codigo da classe ProdutoDao!





import com.mysql.jdbc.PreparedStatement;
import devmedia.db.DatabaseUtil;
import devmedia.db.Produto;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedList;
import java.util.List;


public class ProdutoDao extends DatabaseUtil {

    private static final long serialVersionUID = 1L;
    public ProdutoDao(){
        super();
    }

    public boolean add(Produto prod)throws ClassNotFoundException, SQLException {
        PreparedStatement ps =  getPreparedStatement("INSERT INTO aplicacaojsf.produto values (?,?,?,?)");
        ps.setInt(1, prod.getId());
        ps.setString(2, prod.getNome());
        ps.setInt(3, prod.getNumeroDeItens());
        ps.setDouble(4, prod.getPreco());
         boolean toReturn = ps.execute();
         ps.close();
         return toReturn;
    }
  

 public boolean set(Produto prod)throws ClassNotFoundException, SQLException{
        PreparedStatement ps = getPreparedStatement("UPDAT aplicacaojsf.produto set id=?, nome=?, numeroDeItens=?, price=?");
         ps.setString(1,prod.getNome());
         ps.setInt(2, prod.getNumeroDeItens());
         ps.setDouble(3, prod.getPreco());
         boolean toReturn = ps.execute();
         ps.close();
         return toReturn;
    }

    public boolean delete (Produto prod)throws ClassNotFoundException, SQLException{
          PreparedStatement ps = getPreparedStatement("DELETE from aplicacaojsf.produto where id=?");
            ps.setInt(1, prod.getId());
            boolean toReturn = ps.execute();
            ps.close();
            return toReturn;
        }
    public List<Produto> getAllProduto()throws ClassNotFoundException, SQLException{
        List<Produto> toReturn = new LinkedList<Produto>();
        ResultSet rs = getStatement().executeQuery("Select * from aplicacaojsf.produto");
            while (rs.next()){
                Produto prod = new Produto();
                populateProd(prod, rs);
                toReturn.add(prod);
            }
        rs.close();
        return toReturn;
    }

    private void populateProd (Produto prod, ResultSet rs) throws SQLException{
        prod.setId(rs.getInt("id"));
        prod.setNome(rs.getString("nome"));
        prod.setNumeroDeItens(rs.getInt("numeroDeItens"));
        prod.setPreco(rs.getDouble("price"));

    }
    public Produto getById(int idProduto)throws ClassNotFoundException, SQLException{
        PreparedStatement ps = getPreparedStatement ("Delete from aplicacaojsf.produto where id=?");
        ps.setInt(1, idProduto);
        ResultSet rs = ps.executeQuery();
        if (!rs.next())return null;
        Produto toReturn = new Produto();
        populateProd (toReturn, rs);
        rs.close();
        ps.close();
        return toReturn;
    }



}

GOSTEI 0
Dyego Carmo

Dyego Carmo

25/08/2009

Troque : import com.mysql.jdbc.PreparedStatement
por: import java.sql.PreparedStatement

Teste por favor.

GOSTEI 0
Ruinaldo

Ruinaldo

25/08/2009

Caro professor fiz esta troca e nada, o problema foi resolvido da seguinte forma peguei todas as classe do projeto e no eclipse contrui um novo projeto, o problema permaneceu porém no eclipse as sugestoes foram mais do que no netbeans fui testando uma a uma, teve uma delas que resolveu o problema depois con as classe ok as transferi novamente para o netbeans e estou dando contiunidade ao curso, mais acho que o problemas estava na classe DatabaseUtil acho que algum metodo que deixei de criar ou algo do tipo se ainda tiver o projeto que o envie uma vez para seu e-mail gostaria que fizesse uma analise nesta classe se não pode concluir este chamado!
GOSTEI 0
Dyego Carmo

Dyego Carmo

25/08/2009

Legal :)

Então... resolvido ?

GOSTEI 0
Ruinaldo

Ruinaldo

25/08/2009

só mais uma coisa professor quando eu subtitui o que me pediu o erro era pra que eu fizesse um cast
GOSTEI 0
Dyego Carmo

Dyego Carmo

25/08/2009

E agora o erro sumiu ?

GOSTEI 0
Ruinaldo

Ruinaldo

25/08/2009

sim! resolvi pelo eclipse;
GOSTEI 0
Ruinaldo

Ruinaldo

25/08/2009

Professor ache que havia resolvido a qustão mais esta engando crie a classe de teste e tive o seguinte problema ! O que pode esta acontecendo?

No value specified for parameter 4
java.sql.SQLException: No value specified for parameter 4
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
        at com.mysql.jdbc.PreparedStatement.fillSendPacket(PreparedStatement.java:2214)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2020)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1964)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1949)
        at devmedia.dao.ProdutoDao.set(ProdutoDao.java:46)
        at devmedia.dao.ProdutoDaoTest.testSet(ProdutoDaoTest.java:73)

GOSTEI 0
Dyego Carmo

Dyego Carmo

25/08/2009

Opa !

Tudo bem ?

Voce deve abrir outro chamado para esta sua pergunta...

este chamado está encerrado :)

GOSTEI 0
POSTAR