Primefaces

Boa tarde a todos, bom estou estudando jsf 2 com primefaces vi alguns problemas onde consegui solucionar porem um deles não estou conseguindo, quando crio um filtro e faço o mapeamento dele no web.xml, ate ai tudo bem porem quando minha aplicação passa pelo filtro minha tela fica toda em branco. Estou usando jsf 2, faacelets e primefaces. E estou importando o css desssa forma

href="#{facesContext.externalContext.requestContextPath}/themes/redmond/skin.css".
Grato.

Por acaso no seu filtro tem uma chamada FilterChain.doFilter() em algum ponto?

Amigo tenta assim:

<h:graphicImage value=“http://#{facesContext.externalContext.request.serverName}:#{facesContext.externalContext.request.serverPort}/imagens/confirmar.gif” />

:twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted:

ASS: A VOZ DO INFERNO!

Na verdade, com JSF2, a melhor maneira de se adicionar CSSs ou imagens à uma view é:

<h:outputStylesheet name="mycss.css" />
<h:graphicImage name="myimage.jpg" />

Considerando q tanto mycss.css quanto myimage.jpg estão em um diretório chamado resources e q o mesmo se encontra na raiz do projeto.

MyProject
+-WEB-INF
+-resources
+--mycss.css
+--myimage.jpg

Boa tarde,

bom na verdade ainda não fiz nada dentro do filtro, so dei um systrace msm para teste.
Meu filtro esta assim:

public class SemedFilter implements Filter{

	@Override
	public void destroy() {
		System.out.println("SemedFilter.destroy()");
	}

	@Override
	public void doFilter(ServletRequest arg0, ServletResponse arg1,
			FilterChain arg2) throws IOException, ServletException {
		System.out.println("SemedFilter.doFilter()");                
	}

	@Override
	public void init(FilterConfig config) throws ServletException {
		System.out.println("SemedFilter.init()");
	}
}

As demais respostas agradeço e estarei testando para ver se funciona. Obrigado.

Os Filters da API de Servlets implementam um padrão Chain of Responsabilities. Nesse padrão é responsábilidade de cada “elo” da corrente dizer se o próximo “elo” vai ou ñ ser executado.
Teorias a parte, um Filter deve em algum momento chamar o método doFilter do objeto FilterChain q ele recebe por parametro, senão o restante da “corrente”, e isso inclui qualqer Filter, Servlet ou JSP, ñ será executado.

@WebFilter(urlPattern="/*")
public class SemedFilter implements Filter{  
  
    @Override  
    public void destroy() {  
        System.out.println("SemedFilter.destroy()");  
    }  
  
    @Override  
    public void doFilter(ServletRequest req, ServletResponse resp,  
            FilterChain chain) throws IOException, ServletException {  
        System.out.println("SemedFilter.doFilter()");  
        chain.doFilter(req, resp); // Senão os demais componentes q participam dessa requisição (corrente) ñ serão executados.
    }  
  
    @Override  
    public void init(FilterConfig config) throws ServletException {  
        System.out.println("SemedFilter.init()");  
    }  
}

Cara realmente estava me esquecendo disso foi esse mesmo o erro, obrigado.