JSF e Primfaces não funciona direito

7 respostas
newuser

Olá, pessoal.

Primeiro projeto é sempre o mais difícil né!

Estou tentando usar JSF 2.0 e Primefaces, mas tá cheio de problemas, não exibe o Primefaces e eu não sei o que fazer.

Se puderem dar uma olhada eu agradeço!

datatable.xhtml:

<!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:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.prime.com.tr/ui">

 <h:form>
      <p:dataTable id="dataTable" value="#{usuarioBean.lista}" var="usuario" rules="rows" cellpadding="5">
        <f:facet name="cabecalho">Listagem de Usuários</f:facet>
        
        <p:column>
          <f:facet name="header">Código</f:facet>
          #{usuario.id}
        </p:column>
        <p:column>
          <f:facet name="header">Nome</f:facet>
          #{usuario.nome}
        </p:column>
        <p:column>
          <f:facet name="header">Login</f:facet>
          #{usuario.login}
        </p:column>
        <p:column>
          <f:facet name="header">Situação</f:facet>
          #{usuario.status}
        </p:column>
        <p:column>
          <f:facet name="header">Data Cadastro</f:facet>
          #{usuario.dtCadastro}
        </p:column>
        
        <p:column>
          <p:commandLink action="#{usuarioBean.edit}">Alterar</p:commandLink>
        </p:column>
        
        <f:facet name="rodape">Fim da listagem</f:facet>  
      </p:dataTable>
 </h:form>
</html>

UsuarioBean:

package classe.modelo.vo;

import java.util.ArrayList;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

import classe.modelo.dao.UsuarioDao;

@ManagedBean(name="usuarioBean")
@RequestScoped

public class UsuarioBean {
	private Usuario usuario = new Usuario();
    private ArrayList<Usuario> lista;	
	
	public ArrayList<Usuario> getLista(){
 		lista = UsuarioDao.listar();
		return lista;
		
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public Usuario getUsuario() {
		return usuario;
	}

}

web.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>SignageDoor</display-name>
  <context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Development</param-value>
  </context-param>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.xhtml</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.xhtml</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <description></description>
    <display-name>ServletUsuario</display-name>
    <servlet-name>ServletUsuario</servlet-name>
    <servlet-class>classe.controle.servlet.ServletUsuario</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>ServletUsuario</servlet-name>
    <url-pattern>/ServletUsuario</url-pattern>
  </servlet-mapping>
  <servlet>
    <description></description>
    <display-name>ServletLocatario</display-name>
    <servlet-name>ServletLocatario</servlet-name>
    <servlet-class>classe.controle.servlet.ServletLocatario</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>ServletLocatario</servlet-name>
    <url-pattern>/ServletLocatario</url-pattern>
  </servlet-mapping>
  <servlet>
    <description></description>
    <display-name>ServletPonto</display-name>
    <servlet-name>ServletPonto</servlet-name>
    <servlet-class>classe.controle.servlet.ServletPonto</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>ServletPonto</servlet-name>
    <url-pattern>/ServletPonto</url-pattern>
  </servlet-mapping>
  <servlet>
    <description></description>
    <display-name>ServletEmpresa</display-name>
    <servlet-name>ServletEmpresa</servlet-name>
    <servlet-class>classe.controle.servlet.ServletEmpresa</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>ServletEmpresa</servlet-name>
    <url-pattern>/ServletEmpresa</url-pattern>
  </servlet-mapping>
  <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>/faces/*</url-pattern>
  </servlet-mapping>
  <context-param>
    <description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>client</param-value>
  </context-param>
  <context-param>
    <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
    <param-value>resources.application</param-value>
  </context-param>
  <listener>
    <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
  </listener>
  <servlet>
    <description></description>
    <display-name>ServletMidia</display-name>
    <servlet-name>ServletMidia</servlet-name>
    <servlet-class>classe.controle.servlet.ServletMidia</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>ServletMidia</servlet-name>
    <url-pattern>/ServletMidia</url-pattern>
  </servlet-mapping>
  <servlet>
    <description></description>
    <display-name>ServletProgramacao</display-name>
    <servlet-name>ServletProgramacao</servlet-name>
    <servlet-class>classe.controle.servlet.ServletProgramacao</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>ServletProgramacao</servlet-name>
    <url-pattern>/ServletProgramacao</url-pattern>
  </servlet-mapping>
</web-app>

Não sei se é problema de configuração, mas fiz tudo de acordo com um bom tutorial.
Estou usando o eclipse Helios e Tomcat 6.
Reparem as bibliotecas e como ficou a execussão do projeto:

O estilo do primefaces não aparece. Só aparecem os dados do bd e o link.

Me ajudem por favor e obrigado :!:

7 Respostas

F

Por que tanto servlet? o.O

Você já estudou o básico de JSF?

fredericomaia10

Concordo com o Fernando, porque esses servlets?

E bem, você pode tentar verificar algumas itens.
Coloque as bibliotecas (jars) que estiver utilizando no projeto, como a do primefaces, dentro da pasta WEB-INF/lib.
Verifique esta URL que está utilizando no xmlns, a atual é xmlns:p="http://primefaces.org/ui"
Verifique se não é cache do eclipse ou do tomcat, dê um clean nos dois.

newuser

Estes servlets são porque eu comecei usando jsp aí tive que mudar pra JSF.

Como limpar a cache do tomcat e do eclipse?

Valeu, a todos pela dica. Vou tentar.

newuser

Já limpei as caches e coloquei os jars na lib do webcontent e nada!

:evil:

b10machado

cara eu ja passei por isso, poe jar tbm de 2.2.1-sources ve c funciona!!!

eu tbm faria um outro projeto do 0 so para ver c roda o prime.

newuser

Já estou usando o primefaces 2.2.1.jar

E

Boa noite.
Da uma observada nestes link.
http://jamacedo.wordpress.com/2010/09/13/crud-jsf-2-0-hibernate-parte-2-utilizando-a-biblioteca-primefaces-no-gerenciador-de-livros/
http://semprejava.wordpress.com/
Utiliza primefaces 2.2 com spring security, já server de exemplo para começa.

Criado 18 de março de 2012
Ultima resposta 19 de mar. de 2012
Respostas 7
Participantes 5