Pessoal baixei uns fontes aqui feito em jsf, não estou conseguindo rodar ele no netbeans, quais arquivos de configuração do jsf? onde por eles ?
imagem netbeans e estrutura:
http://picasaweb.google.com.br/web2ajax/JAVA#5423665309648603410

segue o código:
<?xml version='1.0' encoding='UTF-8'?>
<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
version="1.2">
<application>
<view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
</application>
<managed-bean>
<managed-bean-name>usuarioCrudBean</managed-bean-name>
<managed-bean-class>
br.com.rponte.faces.bean.UsuarioCrudBean
</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
</faces-config>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0 Servlet 2.5//EN" "http://www.sun.com/software/appserver/dtds/sun-web-app_2_5-0.dtd">
<sun-web-app error-url="">
<context-root>/ajaxComJsfMaisEficiente</context-root>
<class-loader delegate="true"/>
<jsp-config>
<property name="keepgenerated" value="true">
<description>Keep a copy of the generated servlet class' java code.</description>
</property>
</jsp-config>
</sun-web-app>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<context-param>
<param-name>javax.faces.CONFIG_FILES</param-name>
<param-value>/WEB-INF/faces-config.xml</param-value>
</context-param>
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.xhtml</param-value>
</context-param>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>
<context-param>
<param-name>org.richfaces.SKIN</param-name>
<param-value>blueSky</param-value>
</context-param>
<context-param>
<param-name>org.richfaces.CONTROL_SKINNING</param-name>
<param-value>enable</param-value>
</context-param>
<context-param>
<param-name>org.richfaces.CONTROL_SKINNING_CLASSES</param-name>
<param-value>enable</param-value>
</context-param>
<context-param>
<param-name>facelets.DEVELOPMENT</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
<param-value>com.sun.facelets.FaceletViewHandler</param-value>
</context-param>
<filter>
<display-name>RichFaces Filter</display-name>
<filter-name>richfaces</filter-name>
<filter-class>org.ajax4jsf.Filter</filter-class>
</filter>
<listener>
<listener-class>
com.sun.faces.config.ConfigureListener
</listener-class>
</listener>
<filter-mapping>
<filter-name>richfaces</filter-name>
<servlet-name>Faces Servlet</servlet-name>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
<?xml version="1.0" encoding="ISO-8859-1"?>
<!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:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich"
xmlns:t="http://myfaces.apache.org/tomahawk">
<head>
<title>
<ui:insert name="title">
My Crud Template
</ui:insert>
</title>
<ui:insert name="head">
</ui:insert>
<script type="text/javascript">
var infoWindowAMShown = false;
var infoWindowAMTimer;
function showModalInfoWindow()
{
infoWindowAMTimer = setTimeout("if(!infoWindowAMShown){Richfaces.showModalPanel('ajaxLoadingModalBox');infoWindowAMShown=true;}", 500);
}
function hideModalInfoWindow()
{
if (infoWindowAMShown) {
Richfaces.hideModalPanel('ajaxLoadingModalBox');
infoWindowAMShown=false;
} else {
if(infoWindowAMTimer)
clearTimeout(infoWindowAMTimer);
}
}
</script>
</head>
<body>
<!-- ajax loading -->
<a4j:status onstart="showModalInfoWindow();" onstop="hideModalInfoWindow()"/>
<rich:modalPanel id="ajaxLoadingModalBox" autosized="true">
<f:facet name="header">
<h:outputText value="Request being processed"/>
</f:facet>
<h:outputText value="Your request is being processed, please wait."/>
</rich:modalPanel>
<!-- bloco principal -->
<a4j:outputPanel ajaxRendered="true" id="mainOutputPanel">
<a4j:form>
<!-- bloco de pesquisa -->
<rich:panel id="searchlistBlock"
rendered="#{defaultBean.pesquisarState}">
<f:facet name="header">
Pesquisar
</f:facet>
<ui:insert name="searchlistBlock">
</ui:insert>
</rich:panel>
<!-- bloco de edi��o -->
<rich:panel id="addUpdateBlock"
rendered="#{defaultBean.adicionarState or defaultBean.editarState}">
<f:facet name="header">
Dados do Usu�rio
</f:facet>
<ui:insert name="addUpdateBlock">
</ui:insert>
</rich:panel>
</a4j:form>
</a4j:outputPanel>
</body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>Starting page</title>
</head>
<body>
<c:redirect context="${pageContext.request.contextPath}" url="/pages/usuarioCrud.faces"/>
</body>
</html>
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition 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:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich"
xmlns:t="http://myfaces.apache.org/tomahawk"
xmlns:c="http://java.sun.com/jstl/core"
template="/pages/myCrudTemplate.xhtml">
<!-- passa par�metro para o template -->
<ui:param name="defaultBean" value="#{usuarioCrudBean}" />
<ui:define name="title">
Cadastro de Usu�rios
<t:saveState id="_bean" value="#{usuarioCrudBean}" />
</ui:define>
<ui:define name="head">
<style type="text/css">
.odd-row {
background-color: #ECF3FE;
}
.even-row {
background-color: #FCFFFE;
}
</style>
</ui:define>
<!-- define searchlistBlock -->
<ui:define name="searchlistBlock">
<h:panelGrid columns="1">
<h:column>
<h:outputText value="Nome:" />
<br/>
<h:inputText value="#{usuarioCrudBean.nome}" size="30" />
</h:column>
<h:column>
<a4j:commandButton value="Pesquisar" action="#{usuarioCrudBean.pesquisar}"/>
<a4j:commandButton value="Adicionar" action="#{usuarioCrudBean.prepareAdicionar}" immediate="true"/>
</h:column>
</h:panelGrid>
<rich:spacer width="1" height="5" />
<rich:datascroller align="left" for="userList" maxPages="10" />
<rich:spacer height="30" />
<rich:dataTable width="483" id="userList" rows="10"
rowClasses="odd-row,even-row"
columnClasses="col" value="#{usuarioCrudBean.usuarios}" var="row">
<f:facet name="header">
<rich:columnGroup>
<h:column>
<h:outputText styleClass="headerText" value="Login" />
</h:column>
<h:column>
<h:outputText styleClass="headerText" value="Nome" />
</h:column>
<h:column>
<h:outputText styleClass="headerText" value="Blog" />
</h:column>
<h:column>
<h:outputText styleClass="headerText" value="Ativo?" />
</h:column>
<h:column>
</h:column>
</rich:columnGroup>
</f:facet>
<h:column>
<h:outputText value="#{row.login}" />
</h:column>
<h:column>
<h:outputText value="#{row.nome}" />
</h:column>
<h:column>
<h:outputLink value="#{row.blog}">
<h:outputText value="#{row.blog}" />
</h:outputLink>
</h:column>
<h:column>
<h:outputText value="#{row.ativo ? 'Sim' : 'N�o'}" />
</h:column>
<h:column>
<span>
<a4j:commandLink value="editar" action="#{usuarioCrudBean.prepareEditar}" immediate="true">
<f:setPropertyActionListener value="#{row}" target="#{usuarioCrudBean.usuario}"/>
</a4j:commandLink>
</span>
<span>
<a4j:commandLink value="excluir" action="#{usuarioCrudBean.excluir}" immediate="true">
<f:setPropertyActionListener value="#{row}" target="#{usuarioCrudBean.usuario}"/>
</a4j:commandLink>
</span>
</h:column>
</rich:dataTable>
</ui:define>
<!-- define addUpdateBlock -->
<ui:define name="addUpdateBlock">
<h:panelGrid columns="2" id="panel2" binding="#{usuarioCrudBean.panelForm}" columnClasses="odd-row,even-row">
<h:outputLabel value="Login: "/>
<h:column>
<h:inputText value="#{usuarioCrudBean.usuario.login}" size="30" required="true" id="login"
requiredMessage="Campo Login � obrigat�rio."
readonly="#{usuarioCrudBean.editarState}"
style="#{usuarioCrudBean.editarState ? 'color: gray;' : ''}"/>
<br/>
<h:message for="login" errorStyle="color: darkred;"/>
</h:column>
<h:outputLabel value="Senha: "/>
<h:column>
<h:inputSecret value="#{usuarioCrudBean.usuario.senha}" size="30" redisplay="true"/>
<br/>
</h:column>
<h:outputLabel value="Nome: "/>
<h:column>
<h:inputText value="#{usuarioCrudBean.usuario.nome}" size="60" required="true" id="nome"
requiredMessage="Campo Nome � obrigat�rio." />
<br/>
<h:message for="nome" errorStyle="color: darkred;"/>
</h:column>
<h:outputLabel value="Blog: "/>
<h:column>
<h:inputText value="#{usuarioCrudBean.usuario.blog}" size="90" id="blog"/>
</h:column>
<h:outputLabel value="Ativo?"/>
<h:column>
<h:selectOneMenu value="#{usuarioCrudBean.usuario.ativo}" id="ativo"
requiredMessage="Campo Ativo � obrigat�rio."
required="true">
<f:selectItem itemValue="" itemLabel="[Selecione uma op��o]" />
<f:selectItem itemValue="#{true}" itemLabel="Sim" />
<f:selectItem itemValue="#{false}" itemLabel="N�o" />
</h:selectOneMenu>
<br/>
<h:message for="ativo" errorStyle="color: darkred;"/>
</h:column>
</h:panelGrid>
<a4j:commandButton value="Adicionar" action="#{usuarioCrudBean.adicionar}" rendered="#{usuarioCrudBean.adicionarState}"/>
<a4j:commandButton value="Editar" action="#{usuarioCrudBean.editar}" rendered="#{usuarioCrudBean.editarState}"/>
<a4j:commandButton value="Voltar" action="#{usuarioCrudBean.voltar}" immediate="true"/>
</ui:define>
</ui:composition>
package br.com.rponte.domain.model;
public class Usuario {
private String login;
private String nome;
private String senha;
private String blog;
private Boolean ativo;
/**
* Default constructor
*/
public Usuario() {
//
}
public Usuario(String login, String nome, String blog, boolean ativo) {
this.login = login;
this.nome = nome;
this.blog = blog;
this.ativo = ativo;
}
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public Boolean getAtivo() {
return ativo;
}
public void setAtivo(Boolean ativo) {
this.ativo = ativo;
}
public String getBlog() {
return blog;
}
public void setBlog(String blog) {
this.blog = blog;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((login == null) ? 0 : login.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
final Usuario other = (Usuario) obj;
if (login == null) {
if (other.login != null)
return false;
} else if (!login.equals(other.login))
return false;
return true;
}
}
package br.com.rponte.faces.bean;
import java.util.ArrayList;
import java.util.List;
import javax.faces.component.UIComponent;
import javax.faces.component.UIPanel;
import br.com.rponte.domain.model.Usuario;
import br.com.rponte.domain.repository.UsuarioRepositorio;
public class UsuarioCrudBean {
public static final String PESQUISAR_STATE = "pesquisar";
public static final String ADICIONAR_STATE = "adicionar";
public static final String EDITAR_STATE = "editar";
private String currentState = PESQUISAR_STATE;
private String nome;
private Usuario usuario;
private List<Usuario> usuarios = new ArrayList<Usuario>();
private UIPanel panelForm;
@SuppressWarnings("unchecked")
public List<Usuario> getUsuarios() {
return usuarios;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public Usuario getUsuario() {
if (usuario == null)
this.usuario = new Usuario();
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
public String getCurrentState() {
return currentState;
}
public void setCurrentState(String currentState) {
this.currentState = currentState;
}
public UIPanel getPanelForm() {
return panelForm;
}
public void setPanelForm(UIPanel panelForm) {
this.panelForm = panelForm;
}
/**
* Pesquisa usu�rios por nome
*/
public void pesquisar() {
this.setCurrentState(PESQUISAR_STATE);
this.usuarios = UsuarioRepositorio.findUsuarioByNome(this.nome);
}
/**
* Prepara view adicionar
*/
public void prepareAdicionar() {
this.clear();
this.setCurrentState(ADICIONAR_STATE);
}
/**
* Adiciona usu�rio
*/
public void adicionar() {
UsuarioRepositorio.add(this.usuario);
this.pesquisar();
}
/**
* Prepara view editar
*/
public void prepareEditar() {
this.setCurrentState(EDITAR_STATE);
}
/**
* Edita usu�rio
*/
public void editar() {
// j� edita diretamente na lista (a lista est� como static)
this.pesquisar();
}
/**
* Exclui usu�rio
*/
public void excluir() {
UsuarioRepositorio.delete(this.usuario);
this.pesquisar();
}
/**
* Referente ao bot�o voltar
*/
public void voltar() {
this.clear();
this.pesquisar();
}
/**
* Limpa atributos
*/
private void clear() {
this.nome = "";
this.usuario = new Usuario();
this.cleanSubmittedValues(this.panelForm);
}
/*
* M�todos que expõem o estado � p�gina
*/
public boolean isPesquisarState() {
String state = this.getCurrentState();
return (state == null || PESQUISAR_STATE.equals(state));
}
public boolean isAdicionarState() {
return ADICIONAR_STATE.equals(this.getCurrentState());
}
public boolean isEditarState() {
return EDITAR_STATE.equals(this.getCurrentState());
}
/**
* Limpa os componentes filhos para que depois eles possam ser recriados
* @param component
*/
protected void cleanSubmittedValues(UIComponent component) {
component.getChildren().clear();
}
}
package br.com.rponte.domain.repository;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import br.com.rponte.domain.model.Usuario;
public class UsuarioRepositorio {
private static List<Usuario> bancoDeDados = new ArrayList<Usuario>();
static {
bancoDeDados.add(new Usuario("rponte", "Rafael Ponte", "http://www.rponte.com.br", true));
bancoDeDados.add(new Usuario("handersonbf", "Handerson Frota", "http://www.handersonfrota.com.br", false));
bancoDeDados.add(new Usuario("cmilfont", "Christiano Milfont", "http://www.milfont.org", true));
bancoDeDados.add(new Usuario("tarsobessa", "Tarso Bessa", "", true));
bancoDeDados.add(new Usuario("rcarneiro", "Rafael Carneiro", "http://www.rafaelcarneiro.org", false));
bancoDeDados.add(new Usuario("rogerio", "Rog�rio Ara�jo", "http://faces.eti.br/", false));
bancoDeDados.add(new Usuario("paulojr", "Paulo Jr", "http://paulojdev.wordpress.com/", true));
// pequeno delay para simular carga dos dados do banco
try {
Thread.sleep(1500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public static List<Usuario> findUsuarioByNome(String nome) {
List<Usuario> resultado = new ArrayList<Usuario>();
if (nome == null
|| "".equals(nome))
return Collections.unmodifiableList(bancoDeDados);
for (Usuario u : bancoDeDados) {
String nn = u.getNome().toUpperCase();
nome = nome.toUpperCase();
if (nn.indexOf(nome) != -1) {
resultado.add(u);
}
}
return resultado;
}
public static void delete(Usuario usuario) {
bancoDeDados.remove(usuario);
}
public static void add(Usuario usuario) {
bancoDeDados.add(0, usuario);
}
}