Autor
Mensagem
No meu managedbean, eu faço a comunicação entre os facelets e os modelos. Então vem a dúvida, de qual melhor caminho a seguir. Veja abaixo o ManagedBean.
O que eu quero é criar um método que traga todas as escolas, dentro de uma condição do meu select. Esse select me trará o nome da escola e a sua direção, mas no meu XHTML eu coloco apenas o nome das escolas e em outra posição a direção da mesma. Então eu criei uma classe chamada EscolaImp. Conforme abaixo:
Ai eu pergunto. O método para trazer as escolas, deve estar implementado em EscolaImp, certo? O que eu coloco no meu ManagedBean? Só a chamada? Extender a classe EscolaImp e dar um new nela e chamar o método em questão ou não é bem assim?
#Código
@ManagedBean(value="MostraEsc")
@SessionScoped
public class MostraEscolaAtiva {
Escola escola;
EscolaDaoImp edi = new EscolaDaoImp();
public void handleToggle(ToggleEvent event) {
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Fieldset Toggled", "Visibility:" + event.getVisibility());
FacesContext.getCurrentInstance().addMessage(null, msg);
}
}
@SessionScoped
public class MostraEscolaAtiva {
Escola escola;
EscolaDaoImp edi = new EscolaDaoImp();
public void handleToggle(ToggleEvent event) {
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Fieldset Toggled", "Visibility:" + event.getVisibility());
FacesContext.getCurrentInstance().addMessage(null, msg);
}
}
O que eu quero é criar um método que traga todas as escolas, dentro de uma condição do meu select. Esse select me trará o nome da escola e a sua direção, mas no meu XHTML eu coloco apenas o nome das escolas e em outra posição a direção da mesma. Então eu criei uma classe chamada EscolaImp. Conforme abaixo:
#Código
public class EscolaDaoImp implements EscolaDAO{
@Override
public Class<Escola> getEntityType() {
return Escola.class;
}
}
@Override
public Class<Escola> getEntityType() {
return Escola.class;
}
}
Ai eu pergunto. O método para trazer as escolas, deve estar implementado em EscolaImp, certo? O que eu coloco no meu ManagedBean? Só a chamada? Extender a classe EscolaImp e dar um new nela e chamar o método em questão ou não é bem assim?
Citação:
Ai eu pergunto. O método para trazer as escolas, deve estar implementado em EscolaImp, certo? O que eu coloco no meu ManagedBean? Só a chamada? Extender a classe EscolaImp e dar um new nela e chamar o método em questão ou não é bem assim?
Ai eu pergunto. O método para trazer as escolas, deve estar implementado em EscolaImp, certo? O que eu coloco no meu ManagedBean? Só a chamada? Extender a classe EscolaImp e dar um new nela e chamar o método em questão ou não é bem assim?
Oi PJava, você está no caminho certo sim.
A melhor abordagem é inicializar (de preferência com injeção) a classe Dao no seu ManagedBean e adicionar um método ao Controller que delegue a funcionalidade a sua camada de DAO (assim você separa as camadas; a view não tem conhecimento sobre a DAO). Se você está usando um Container com CDI tente o seguinte:
Crie um arquivo beans.xml vazio em WEB-INF.
Na sua classe MostraEscolaAtiva faça o seguinte:
#Código
// veja que por boa prática estou expondo somente a interface
@Inject private EscolaDAO escolaDAO;
// metodo que delega para a DAO
public List getEscolas() {
// pensando que esse é o método que trará todas as escolas
return escolaDAO.findAll();
}
Na sua Interface EscolaDAO declare o método:
#Código
List findAll();
E na sua EscolaDaoImp implemente-o:
#Código
@Override
public List findAll() {
// lógica aqui
}
Sei por posts anteriores que você está usando o Eclipse, porém esses tutorias do Netbeans são boa leitura mesmo assim:
Ps: Se você não conseguir fazer o CDI funcionar a melhor prática continua sendo expor somente a Interface:
#Código
private EscolaDAO escolaDAO = new EscolaDaoImp();
Abraços,
O fato é que eu não consigo ntrazer escola nenhuma no meu XHTML. Lá no outputtext value = "#{MostraEsc.NomeMétodoTrazEscola}">; não vem nada nele. Entã, a questã é que falta também a conexão com o banco dados e nesses exemplos que passei não tem ele. Em que momento ou em em que classe eu faço a conexão? Na EscolaDaoImp? Ou como fazer. Eu tenho muita dúvida nesses passos. Preciso dar esse resultado até amanhã, ou seja, fazer listar as escolas no meu XHTML e fechar esse ciclo. Aí bate o desespero. Fiquei ontem todo domingo para resolver isso. Li muito, mas agora preciso por em prática e falta a mim alguns conceitos. Talvez eu não esteja conseguindo passar a minha dúvida, acho que esse é o problema.
Eu respondi a pergunta original sobre como expor um método do DAO para o ManagedBean. A parte do banco depende muito da tecnologia que você está usando. Realmente, se você ainda não começou essa parte e não está com tempo para ler vai ficar difícil te ajudar... O máximo que dá para fazer aqui no fórum é tirar dúvidas direcionadas.
Mas vamos lá, em base, se você estiver usando JPA você precisa criar o persistence.xml, configurar uma unidade de persistência, criar um modelo devidamente anotado, obter um EntityManager e fazer a consulta (infelizmente esse não é um processo trivial que eu possa descrever em um post, então segue o link: http://download.oracle.com/javaee/6/tutorial/doc/bnbpz.html, outra opção é dar uma olhada nos videos aqui da DevMedia).
Eis um exemplo:
Mas vamos lá, em base, se você estiver usando JPA você precisa criar o persistence.xml, configurar uma unidade de persistência, criar um modelo devidamente anotado, obter um EntityManager e fazer a consulta (infelizmente esse não é um processo trivial que eu possa descrever em um post, então segue o link: http://download.oracle.com/javaee/6/tutorial/doc/bnbpz.html, outra opção é dar uma olhada nos videos aqui da DevMedia).
Eis um exemplo:
#Código
private EntityManager em;
public List findAll() {
Query query = em.createQuery("SELECT e FROM Escola e");
return query.getResultList();
}
Query query = em.createQuery("SELECT e FROM Escola e");
return query.getResultList();
}
Como você vai obter esse EntityManager depende da sua stack tecnologia, e de novo
vou te recomendar leitura.
O jeito "burro" seria usar um Singleton (procure no Google por HibernateUtil / JPAUtil):
#Código
private EntityManager em = JPAUtil.getEntityManager();
O jeito Java EE seria usar a anotação @PersistenceContext(mas isso depende do Container):
#Código
@PersistenceContext(unitName="my-pu")
private EntityManager em;
Frameworks como o Spring tem técnicas próprias para expor o EntityManager.
O que eu estou tentando fazer é particionar minhas dúvidas e ir postando token delas. Em realidade o que eu quero mesmo, é mostrar numa página JSF(XHTML) a lista de escola e o usuário logado, mas esse é para depois. Tô quase conseguindo, tudo que não a ver com banco eu consegui, só não estou conseguindo mostrar são os resultados oriundos do banco de dados, tipo result de um select e coisas assim. Mas não gostaria de copiar e colar não, quero é entender a bagaça e entender bem. Por isso esse vários posts. O problema todo é que amanhã tenho que fazer isso funcionar. Claro que não tem nada a ver com vocês, isso é problema meu, mas estou meio preocupado. Sei que não falta muita coisa, é só isso que tenho que mostrar(O BURNDOWN) está pra fora a linha de execuções, devido a isso e preciso faze-la voltar. Mas mesmo assim, agradeço muito a vocês pela grandíssima ajuda e paciência que têm tido comigo. Muito obrigado mesmo a vocês todos aí.
PJava, ok, o SELECT provavelmente será isso que eu postei acima. Parece que outros usuários já te ajudaram a criar as entidades anotadas e configurar o JPA. Agora a coisa seria colocar o código passado acima na classe de DAO (copiar o código do findAll) e listar o resultado na view com um h:dataTable.
Veja um exemplo de uso da Tag: http://blogs.steeplesoft.com/2009/10/jsf-2-hdatatable-and-ajax-updates/
Se você seguir meu exemplo o acesso seria feito com algo do tipo #MostraEsc.escolas.
O único desafio que resta depois disso é saber como injetar o EntityManager (basicamente, anotação ou Singleton).
Espero ter ajudado.
Ok, to lendo esses tutoriais e clara, tentando fazer acontecer. Veja como ficou o meu ManagedBean.
Para listar na XHTML eu só tenho que fazer isso:
... value = #{MostraEsc.findAll}; Pq isso eu já fiz e nada. Acxontece que o problema pode estar na conexão com o banco, pois eu não sei onde devo colocar essa conexão, se no meu ManagedBean(acho q não) ou em que classe, ou tenho que criar uma?
#Código
- @ManagedBean(value="MostraEsc")
- @SessionScoped
- public class MostraEscolaAtiva {
- private static final int List = 0;
- private static final int Escola = 0;
- private DataModel listaEscola;
- private EntityManager em;
- public void handleToggle(ToggleEvent event) {
- FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Fieldset Toggled", "Visibility:" + event.getVisibility());
- FacesContext.getCurrentInstance().addMessage(null, msg);
- }
- public void setListaEscola(DataModel listaEscola) {
- this.listaEscola = listaEscola;
- }
- public DataModel getListaEscola(){
- List<Escola> lista = new EscolaDaoImp().list();
- listaEscola = new ListDataModel(lista);
- return listaEscola;
- }
- public EntityManager getEm() {
- return em;
- }
- public void setEm(EntityManager em) {
- this.em = em;
- }
- public static int getList() {
- return List;
- }
- protected EntityManager getEntityManager()
- {
- if (this.em == null)
- throw new IllegalStateException("Erro");
- return this.em;
- }
- @PersistenceContext
- public void setEntityManager(EntityManager em) {
- this.em = em;
- }
- public List<Escola> findAll() {
- Query query = getEntityManager().createQuery("select distinct e.nome " +
- "from " +
- "pessoa p inner join professor f on (p.idpessoa = f.idpessoa) " +
- "inner join matricula m on (m.idprofessor = f.idprofessor) " +
- "inner join escola e on (e.idescola = m.idescola)" +
- "where m.situacao = 'A'");
- return (List<Escola>) query.getResultList();
- }
- }
Para listar na XHTML eu só tenho que fazer isso:
... value = #{MostraEsc.findAll}; Pq isso eu já fiz e nada. Acxontece que o problema pode estar na conexão com o banco, pois eu não sei onde devo colocar essa conexão, se no meu ManagedBean(acho q não) ou em que classe, ou tenho que criar uma?
Eu realmente preciso criar o arquivo Persistence.xml? Como eu o crio, ou tenho que fazer na mão, do zero? Não tenho a opção de fazê-lo, como por exemplo o web.xml, hibernate.cfg.xml e etc.... Não me aparece a opção Persistence.xml. Se for do zero como faço e onde coloco, se no WebContent, src e etc...?
precisa fzer o persistence.xml sim,
tem vários exemplo é só googlar, mole mole vc faz isso.
Mais uma coisa o value tem que ser uma propriedade com getter e setter no seu bean, na ação do botão vc faz a consulta e joga o resultado para essa propriedade com getter e setter (citada anteriormente) , é interessante que essa propriedade sja um List<>,
só isso.
Lembra aquele exemplo que te passei o link, que era uma app RichFaces lá tem isso impelementado, apesar de ser RichFaces não tem problema algum , no managedBean tudo é JSF.
Dá uma olhada como foi impelmentado lá.
Att Davi
tem vários exemplo é só googlar, mole mole vc faz isso.
Mais uma coisa o value tem que ser uma propriedade com getter e setter no seu bean, na ação do botão vc faz a consulta e joga o resultado para essa propriedade com getter e setter (citada anteriormente) , é interessante que essa propriedade sja um List<>,
só isso.
Lembra aquele exemplo que te passei o link, que era uma app RichFaces lá tem isso impelementado, apesar de ser RichFaces não tem problema algum , no managedBean tudo é JSF.
Dá uma olhada como foi impelmentado lá.
Att Davi
Só complementando na action do seu botão, representa um método publico com retorno String, para manter na mesma tela vc coloca o retorno null.
Vc se está colocando regara de negócio no seu managedBean (Controller) no método que lista tudo, isso não é uma boa prática o interessante seria vc fazer uma chamada a um serviço, e o serviço se preocupa em montar essa query.
Mais uma dica, qual a real necessidade desse bean ser de escopo session, tb não é uma boa prática deixar os benas com escopo de sessão sua app vai ficar muito pesada com pouquíssimos usuários, lembra daquela dica que eu já havia te passado, só use uma coisa se vc souber o porquê, se vc não sabe o porquê, então não use, só usamos beans de sessão com um bom motivo, como usuário logado na aplicação, pois queremos guardar o usuário, por motivos óbvios.
Entao veja a necessidade de cada bean seu ter escopo de sessão.
Att Davi
Vc se está colocando regara de negócio no seu managedBean (Controller) no método que lista tudo, isso não é uma boa prática o interessante seria vc fazer uma chamada a um serviço, e o serviço se preocupa em montar essa query.
Mais uma dica, qual a real necessidade desse bean ser de escopo session, tb não é uma boa prática deixar os benas com escopo de sessão sua app vai ficar muito pesada com pouquíssimos usuários, lembra daquela dica que eu já havia te passado, só use uma coisa se vc souber o porquê, se vc não sabe o porquê, então não use, só usamos beans de sessão com um bom motivo, como usuário logado na aplicação, pois queremos guardar o usuário, por motivos óbvios.
Entao veja a necessidade de cada bean seu ter escopo de sessão.
Att Davi
No exemplo que o Davi me passou o link, lá não tem o Persistence.xml, apenas o Hibernate.cfg.xml. Já me disseram para eu não usar esse cara, é correto isso? Se for usar o Persistence, em que pasta ele deve estar: WebConten, src, Web-Inf? Em qual pasta? Vou fazer o Persistence.xml.
Só para ajudar:
http://www.furutani.com.br/2009/02/exemplo-de-aplicacao-jpa-hibernate/
http://netbeans.org/kb/docs/web/jsf-jpa-crud-wizard.html
http://www.javaguicodexample.com/javawejsfjpamysqlbdatabase12ver2.html
http://www.roseindia.net/tutorialsearch/?t=JSF+JPA
http://www.oracle.com/technetwork/middleware/toplink/overview/index.html
http://wiki.eclipse.org/EclipseLink/Examples/JPA/JSF_Tutorial
http://weblogs.java.net/blog/maxpoon/archive/2007/06/extending_the_n.html
Att Davi
http://www.furutani.com.br/2009/02/exemplo-de-aplicacao-jpa-hibernate/
http://netbeans.org/kb/docs/web/jsf-jpa-crud-wizard.html
http://www.javaguicodexample.com/javawejsfjpamysqlbdatabase12ver2.html
http://www.roseindia.net/tutorialsearch/?t=JSF+JPA
http://www.oracle.com/technetwork/middleware/toplink/overview/index.html
http://wiki.eclipse.org/EclipseLink/Examples/JPA/JSF_Tutorial
http://weblogs.java.net/blog/maxpoon/archive/2007/06/extending_the_n.html
Att Davi
Citação:
No exemplo que o Davi me passou o link, lá não tem o Persistence.xml, apenas o Hibernate.cfg.xml. Já me disseram para eu não usar esse cara, é correto isso? Se for usar o Persistence, em que pasta ele deve estar: WebConten, src, Web-Inf? Em qual pasta? Vou fazer o Persistence.xml.
No exemplo que o Davi me passou o link, lá não tem o Persistence.xml, apenas o Hibernate.cfg.xml. Já me disseram para eu não usar esse cara, é correto isso? Se for usar o Persistence, em que pasta ele deve estar: WebConten, src, Web-Inf? Em qual pasta? Vou fazer o Persistence.xml.
PJava, você pode apontar o arquivo de configuração no hibernate no persistence.xml para reaproveitar as configurações (mas só faça isso se você já tem um hibernate.cfg.xml pronto se não a abordagem padrão é mais recomendável):
#Código
<property name="hibernate.ejb.cfgfile" value="/hibernate.cfg.xml"/>
Eis um exemplo básico (adaptado daqui: http://docs.jboss.org/hibernate/entitymanager/3.5/reference/en/html_single/):
#Código
<persistence>
<persistence-unit name="manager1" transaction-type="RESOURCE_LOCAL">
<properties>
<property name="hibernate.ejb.cfgfile" value="/hibernate.cfg.xml"/>
</properties>
</persistence-unit>
</persistence>
Esse arquivo vai no diretório META-INF
Criei esse arquivo Persistence.xml e tá dando erro. Dá erro na primeira linha, do tipo:
The processing instruction target matching"[xX][mM][lL]" is not allowed
The processing instruction target matching"[xX][mM][lL]" is not allowed
#Código
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0">
<persistence-unit name="maindatabasePU"
transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.connection.driver_class" value="org.postgresql.Driver" />
<property name="hibernate.connection.username" value="postgres" />
<property name="hibernate.connection.password" value="eguru" />
<property name="hibernate.connection.url" value="jdbc:postgresql://localhost:5435/MosaicoDigital" />
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
<property name="hibernate.show_sql" value="true" />
</properties>
</persistence-unit>
</persistence>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0">
<persistence-unit name="maindatabasePU"
transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.connection.driver_class" value="org.postgresql.Driver" />
<property name="hibernate.connection.username" value="postgres" />
<property name="hibernate.connection.password" value="eguru" />
<property name="hibernate.connection.url" value="jdbc:postgresql://localhost:5435/MosaicoDigital" />
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
<property name="hibernate.show_sql" value="true" />
</properties>
</persistence-unit>
</persistence>
Olá PJava
Sim kra seu persistence.xml ta certo mas me diz no diretorio em que ele se encontra ta escrito tudo em minusculo 'persistence.xml' dentro do diretorio META-INF que fica dentro do src do seu projeto???? se sim ok e caso o erro persista favor poste o stacktrace completo para que possamos analisa-lo ok?
att
robson
Sim kra seu persistence.xml ta certo mas me diz no diretorio em que ele se encontra ta escrito tudo em minusculo 'persistence.xml' dentro do diretorio META-INF que fica dentro do src do seu projeto???? se sim ok e caso o erro persista favor poste o stacktrace completo para que possamos analisa-lo ok?
att
robson
Isso é o que foi gerado pelo servidor(o log dele - Tomcat)
#Código
03/05/2011 16:47:30 org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files (x86)\Java\jre6\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files (x86)/Java/jre6/bin/client;C:/Program Files (x86)/Java/jre6/bin;C:/Program Files (x86)/Java/jre6/lib/i386;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;c:\Program Files\WIDCOMM\Bluetooth Software\;c:\Program Files\WIDCOMM\Bluetooth Software\syswow64;;C:\Program Files\Dell\DW WLAN Card;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\Common Files\Roxio Shared\DLLShared\;C:\Program Files (x86)\Common Files\Roxio Shared\OEM\DLLShared\;C:\Program Files (x86)\Common Files\Roxio Shared\OEM\DLLShared\;C:\Program Files (x86)\Common Files\Roxio Shared\OEM\12.0\DLLShared\;C:\Program Files (x86)\Roxio\OEM\AudioCore\;C:\Desenvolvimento\eclipse;
03/05/2011 16:47:30 org.apache.tomcat.util.digester.SetPropertiesRule begin
AVISO: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Prime' did not find a matching property.
03/05/2011 16:47:30 org.apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
03/05/2011 16:47:30 org.apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
03/05/2011 16:47:30 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 618 ms
03/05/2011 16:47:30 org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
03/05/2011 16:47:30 org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.12
03/05/2011 16:47:31 com.sun.faces.config.ConfigureListener contextInitialized
INFO: Inicializando Mojarra 2.0.3 (FCS b03) para o contexto '/Prime'
03/05/2011 16:47:31 com.sun.faces.spi.InjectionProviderFactory createInstance
INFO: JSF1048: Anotações PostConstruct/PreDestroy presentes. Os métodos ManagedBeans marcados com essas anotações informarão as anotações processadas.
03/05/2011 16:47:32 org.primefaces.webapp.PostConstructApplicationEventListener processEvent
INFO: Running on PrimeFaces 3.0.M1
03/05/2011 16:47:32 com.sun.faces.config.ConfigureListener$WebConfigResourceMonitor$Monitor <init>
INFO: Monitoring jndi:/localhost/Prime/WEB-INF/faces-config.xml for modifications
03/05/2011 16:47:32 org.apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["http-bio-8080"]
03/05/2011 16:47:32 org.apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
03/05/2011 16:47:32 org.apache.catalina.startup.Catalina start
INFO: Server startup in 1950 ms
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files (x86)\Java\jre6\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files (x86)/Java/jre6/bin/client;C:/Program Files (x86)/Java/jre6/bin;C:/Program Files (x86)/Java/jre6/lib/i386;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;c:\Program Files\WIDCOMM\Bluetooth Software\;c:\Program Files\WIDCOMM\Bluetooth Software\syswow64;;C:\Program Files\Dell\DW WLAN Card;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\Common Files\Roxio Shared\DLLShared\;C:\Program Files (x86)\Common Files\Roxio Shared\OEM\DLLShared\;C:\Program Files (x86)\Common Files\Roxio Shared\OEM\DLLShared\;C:\Program Files (x86)\Common Files\Roxio Shared\OEM\12.0\DLLShared\;C:\Program Files (x86)\Roxio\OEM\AudioCore\;C:\Desenvolvimento\eclipse;
03/05/2011 16:47:30 org.apache.tomcat.util.digester.SetPropertiesRule begin
AVISO: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Prime' did not find a matching property.
03/05/2011 16:47:30 org.apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
03/05/2011 16:47:30 org.apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
03/05/2011 16:47:30 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 618 ms
03/05/2011 16:47:30 org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
03/05/2011 16:47:30 org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.12
03/05/2011 16:47:31 com.sun.faces.config.ConfigureListener contextInitialized
INFO: Inicializando Mojarra 2.0.3 (FCS b03) para o contexto '/Prime'
03/05/2011 16:47:31 com.sun.faces.spi.InjectionProviderFactory createInstance
INFO: JSF1048: Anotações PostConstruct/PreDestroy presentes. Os métodos ManagedBeans marcados com essas anotações informarão as anotações processadas.
03/05/2011 16:47:32 org.primefaces.webapp.PostConstructApplicationEventListener processEvent
INFO: Running on PrimeFaces 3.0.M1
03/05/2011 16:47:32 com.sun.faces.config.ConfigureListener$WebConfigResourceMonitor$Monitor <init>
INFO: Monitoring jndi:/localhost/Prime/WEB-INF/faces-config.xml for modifications
03/05/2011 16:47:32 org.apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["http-bio-8080"]
03/05/2011 16:47:32 org.apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
03/05/2011 16:47:32 org.apache.catalina.startup.Catalina start
INFO: Server startup in 1950 ms
Tentei enviá-lo para você hoje, mas me retornou. Tentei enviar pelo email que está aí no seu msn, mas não consegui. Enviei para uns colegas de forum, só não conseguir te enviar. Por esse forum não tem como anexar nada e até porque meu arquivo zipado, ficou com 3Mb.Não abro nada na página, nada que vem do meu MB. Eu anexo imagens ou qualquer coisa de fora do meu MB, mas dele mesmo nada, nada mesmo. Não é só lista não, nada mesmo.
O que passa é que o meu facelet não enxerga o MB. Eu criei um método simples, que me retornasse uma String assim: "Teste" e não consegui rodar no meu facelet. Porem qualquer coisa que não venha do MB, tipo Imagens e alguns textos, que estão em uma pasta dentro do meu projeto, aí o facelet consegue exergar e carregar. Mas do MB nada, nada mesmo.
Dá uma olhada nesses links, confere depois tb se não está faltando algum jar do primefaces ou do jsf:
Esse primeiro inclusive tem o download do projeto
http://thiagomarques.info/2011/02/12/primefaces-2-2-com-jsf-2-0/
http://quebrandoparadigmas.com/?cat=178
http://www.linhadecodigo.com.br/ArtigoImpressao.aspx?id=3193
http://blog.globalcode.com.br/2010/03/primefaces-com-jsf2-no-scrumtoys.html
http://www.guj.com.br/java/231155-iniciante-primefaces-jsf-20
http://www.primefaces.org/showcase/ui/menubutton.jsf
Att Davi
Esse primeiro inclusive tem o download do projeto
http://thiagomarques.info/2011/02/12/primefaces-2-2-com-jsf-2-0/
http://quebrandoparadigmas.com/?cat=178
http://www.linhadecodigo.com.br/ArtigoImpressao.aspx?id=3193
http://blog.globalcode.com.br/2010/03/primefaces-com-jsf2-no-scrumtoys.html
http://www.guj.com.br/java/231155-iniciante-primefaces-jsf-20
http://www.primefaces.org/showcase/ui/menubutton.jsf
Att Davi
Eu
trabalho junto com um amigo aqui e nós estávamos com o mesmo problema. O
que fizemos. Desinstalamos tudo, deletei o eclipse e baixei outro e
instalei. Jogamos fora o JBoss e o Tomcat e instalamos o GlassFish 3.
Vimos que nosso classpath faltava muita coisa, tipo: Hibernate3.jar, Asm
4.0_RC1.jar e etc... Eram vários que precisamos instalar. Feito isso,
mudamos as nossas classes DAO e etc..., tiramos as Annotation dos MB e
fizemos por mapeamento no faces-config. Vai ficar grande, vai, mas não
temos tempo para estudar outros meios e configurá-los. Isso vai ficar
para o próximo projeto. Em face disso, com meu colega funcionou. Eu nesse
momento, estou exatamente fazendo essas mudanças, mas acho que é por aí.Ainda não testei. Após o teste posto para dizer a resposta.










