JSF pastas!

0 respostas
juniorsatanas

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/>
				&lt;h:inputText value="#{usuarioCrudBean.nome}" size="30" /&gt;
			&lt;/h:column&gt;
			&lt;h:column&gt;
				&lt;a4j:commandButton value="Pesquisar" action="#{usuarioCrudBean.pesquisar}"/&gt;
				&lt;a4j:commandButton value="Adicionar" action="#{usuarioCrudBean.prepareAdicionar}" immediate="true"/&gt;
			&lt;/h:column&gt;
		&lt;/h:panelGrid&gt;
		&lt;rich:spacer width="1" height="5" /&gt;
		&lt;rich:datascroller align="left" for="userList" maxPages="10" /&gt;
		&lt;rich:spacer height="30" /&gt;
		&lt;rich:dataTable width="483" id="userList" rows="10"
			rowClasses="odd-row,even-row"
			columnClasses="col" value="#{usuarioCrudBean.usuarios}" var="row"&gt;
			&lt;f:facet name="header"&gt;
				&lt;rich:columnGroup&gt;
					&lt;h:column&gt;
						&lt;h:outputText styleClass="headerText" value="Login" /&gt;
					&lt;/h:column&gt;
					&lt;h:column&gt;
						&lt;h:outputText styleClass="headerText" value="Nome" /&gt;
					&lt;/h:column&gt;
					&lt;h:column&gt;
						&lt;h:outputText styleClass="headerText" value="Blog" /&gt;
					&lt;/h:column&gt;
					&lt;h:column&gt;
						&lt;h:outputText styleClass="headerText" value="Ativo?" /&gt;
					&lt;/h:column&gt;
					&lt;h:column&gt;
					&lt;/h:column&gt;
				&lt;/rich:columnGroup&gt;
			&lt;/f:facet&gt;
			&lt;h:column&gt;
				&lt;h:outputText value="#{row.login}" /&gt;
			&lt;/h:column&gt;
			&lt;h:column&gt;
				&lt;h:outputText value="#{row.nome}" /&gt;
			&lt;/h:column&gt;
			&lt;h:column&gt;
				&lt;h:outputLink value="#{row.blog}"&gt;
					&lt;h:outputText value="#{row.blog}" /&gt;
				&lt;/h:outputLink&gt;
			&lt;/h:column&gt;
			&lt;h:column&gt;
				&lt;h:outputText value="#{row.ativo ? 'Sim' : 'N&#65533;o'}" /&gt;
			&lt;/h:column&gt;
			&lt;h:column&gt;
				&lt;span&gt;
					&lt;a4j:commandLink value="editar" action="#{usuarioCrudBean.prepareEditar}" immediate="true"&gt;
						&lt;f:setPropertyActionListener value="#{row}" target="#{usuarioCrudBean.usuario}"/&gt;
					&lt;/a4j:commandLink&gt;
				&lt;/span&gt;
				&lt;span&gt;
					&lt;a4j:commandLink value="excluir" action="#{usuarioCrudBean.excluir}" immediate="true"&gt;
						&lt;f:setPropertyActionListener value="#{row}" target="#{usuarioCrudBean.usuario}"/&gt;
					&lt;/a4j:commandLink&gt;
				&lt;/span&gt;
			&lt;/h:column&gt;
		&lt;/rich:dataTable&gt;
		
	&lt;/ui:define&gt;
	
	&lt;!-- define addUpdateBlock --&gt;
	&lt;ui:define name="addUpdateBlock"&gt;
		&lt;h:panelGrid columns="2" id="panel2" binding="#{usuarioCrudBean.panelForm}" columnClasses="odd-row,even-row"&gt;
			&lt;h:outputLabel value="Login: "/&gt;
			&lt;h:column&gt;
				&lt;h:inputText value="#{usuarioCrudBean.usuario.login}" size="30" required="true" id="login"
							requiredMessage="Campo Login &#65533; obrigat&#65533;rio."
							readonly="#{usuarioCrudBean.editarState}"
							style="#{usuarioCrudBean.editarState ? 'color: gray;' : ''}"/&gt;
				<br/>
				&lt;h:message for="login" errorStyle="color: darkred;"/&gt;
			&lt;/h:column&gt;
			&lt;h:outputLabel value="Senha: "/&gt;
			&lt;h:column&gt;
				&lt;h:inputSecret value="#{usuarioCrudBean.usuario.senha}" size="30" redisplay="true"/&gt;
				<br/>
			&lt;/h:column&gt;
			&lt;h:outputLabel value="Nome: "/&gt;
			&lt;h:column&gt;
				&lt;h:inputText value="#{usuarioCrudBean.usuario.nome}" size="60" required="true" id="nome"
							requiredMessage="Campo Nome &#65533; obrigat&#65533;rio." /&gt;
				<br/>
				&lt;h:message for="nome" errorStyle="color: darkred;"/&gt;
			&lt;/h:column&gt;
			&lt;h:outputLabel value="Blog: "/&gt;
			&lt;h:column&gt;
				&lt;h:inputText value="#{usuarioCrudBean.usuario.blog}" size="90" id="blog"/&gt;
			&lt;/h:column&gt;
			&lt;h:outputLabel value="Ativo?"/&gt;
			&lt;h:column&gt;
				&lt;h:selectOneMenu value="#{usuarioCrudBean.usuario.ativo}" id="ativo"
						requiredMessage="Campo Ativo &#65533; obrigat&#65533;rio."
						required="true"&gt;
					&lt;f:selectItem itemValue="" itemLabel="[Selecione uma op&#65533;&#65533;o]" /&gt;
					&lt;f:selectItem itemValue="#{true}" itemLabel="Sim" /&gt;
					&lt;f:selectItem itemValue="#{false}" itemLabel="N&#65533;o" /&gt;
				&lt;/h:selectOneMenu&gt;
				<br/>
				&lt;h:message for="ativo" errorStyle="color: darkred;"/&gt;
			&lt;/h:column&gt;
		&lt;/h:panelGrid&gt;
		&lt;a4j:commandButton value="Adicionar" action="#{usuarioCrudBean.adicionar}" rendered="#{usuarioCrudBean.adicionarState}"/&gt;
		&lt;a4j:commandButton value="Editar" action="#{usuarioCrudBean.editar}" rendered="#{usuarioCrudBean.editarState}"/&gt;
		&lt;a4j:commandButton value="Voltar" action="#{usuarioCrudBean.voltar}" immediate="true"/&gt;
	&lt;/ui:define&gt;
&lt;/ui:composition&gt;
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&lt;Usuario&gt; usuarios = new ArrayList&lt;Usuario&gt;();
	private UIPanel panelForm;
	
	@SuppressWarnings("unchecked")
	public List&lt;Usuario&gt; 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&#65533;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&#65533;rio
	 */
	public void adicionar() {
		UsuarioRepositorio.add(this.usuario);
		this.pesquisar();
	}
	
	/**
	 * Prepara view editar
	 */
	public void prepareEditar() {
		this.setCurrentState(EDITAR_STATE);
	}
	
	/**
	 * Edita usu&#65533;rio
	 */
	public void editar() {
		// j&#65533; edita diretamente na lista (a lista est&#65533; como static)
		this.pesquisar();
	}
	
	/**
	 * Exclui usu&#65533;rio
	 */
	public void excluir() {
		UsuarioRepositorio.delete(this.usuario);
		this.pesquisar();
	}
	
	/**
	 * Referente ao bot&#65533;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&#65533;todos que expõem o estado &#65533; p&#65533;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&lt;Usuario&gt; bancoDeDados = new ArrayList&lt;Usuario&gt;();
	
	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&#65533;rio Ara&#65533;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&lt;Usuario&gt; findUsuarioByNome(String nome) {
		List&lt;Usuario&gt; resultado = new ArrayList&lt;Usuario&gt;();
		
		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);
	}

}

Criado 6 de janeiro de 2010
Respostas 0
Participantes 1