Tutorial - CRUD Facelets para iniciantes

Pessoal,

acabei de publicar um tutorial prático de um CRUD em Facelets para iniciantes.

Link: http://serjaum.wordpress.com/2009/09/03/jsf-migrando-crud-para-facelets/

Abraços…

[quote=serjaumfantin]Pessoal,

acabei de publicar um tutorial prático de um CRUD em Facelets para iniciantes.

Link: http://serjaum.wordpress.com/2009/09/03/jsf-migrando-crud-para-facelets/

Abraços…[/quote]

Vou testar no Ambiente do MyEclipse assim não é necessário perder tempo com ambiente de infraestrutura.

Parece estar bem completo mesmo. Parabéns.

Valeu pela força!

Poderia me dizer o que rola aqui !!!

Estou usando o MyEclipse poderia testar nele ???, outra coisa sobre o jsf é criar tabela e ter um user root e senha root , foi feito !!!

00:12:05,992 INFO Version:15 - Hibernate Annotations 3.4.0.GA 00:12:06,011 INFO Environment:543 - Hibernate 3.3.1.GA 00:12:06,015 INFO Environment:576 - hibernate.properties not found 00:12:06,019 INFO Environment:709 - Bytecode provider name : javassist 00:12:06,026 INFO Environment:627 - using JDK 1.4 java.sql.Timestamp handling 00:12:06,094 INFO Version:14 - Hibernate Commons Annotations 3.1.0.GA 00:12:06,097 INFO Configuration:1460 - configuring from resource: /hibernate.cfg.xml 00:12:06,097 INFO Configuration:1437 - Configuration resource: /hibernate.cfg.xml 00:12:06,293 INFO Configuration:1575 - Configured SessionFactory: null 00:12:06,313 INFO Dialect:175 - Using dialect: org.hibernate.dialect.MySQLInnoDBDialect 00:12:06,421 INFO AnnotationBinder:419 - Binding entity from annotated class: br.com.serjaum.modelo.Pessoa 00:12:06,463 INFO EntityBinder:422 - Bind entity br.com.serjaum.modelo.Pessoa on table pessoa 00:12:06,524 INFO AnnotationConfiguration:369 - Hibernate Validator not found: ignoring 00:12:06,597 INFO SchemaExport:226 - Running hbm2ddl schema export 00:12:06,598 INFO SchemaExport:251 - exporting generated schema to database 00:12:06,603 INFO DriverManagerConnectionProvider:64 - Using Hibernate built-in connection pool (not for production use!) 00:12:06,603 INFO DriverManagerConnectionProvider:65 - Hibernate connection pool size: 20 00:12:06,603 INFO DriverManagerConnectionProvider:68 - autocommit mode: false 00:12:06,612 INFO DriverManagerConnectionProvider:103 - using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost/jsf 00:12:06,612 INFO DriverManagerConnectionProvider:109 - connection properties: {user=root, password=****} 00:12:06,881 ERROR SchemaExport:274 - schema export unsuccessful java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:910) at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3923) at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1273) at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2031) at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:718) at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at com.mysql.jdbc.Util.handleNewInstance(Util.java:406) at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282) at java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:154) at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:133) at org.hibernate.tool.hbm2ddl.ManagedProviderConnectionHelper.prepare(ManagedProviderConnectionHelper.java:52) at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:252) at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:211) at br.com.serjaum.util.GerarTabelas.main(GerarTabelas.java:13)

Eu nunca trabalhei com o MyEclipse, apesar de ter vontade. rs… Não tenho certeza, mas acredito que o mesmo projeto escrito no Eclipse funciona no MyEclipse.

é problema de permissão do usuário do MySQL.

hibernate.cfg.xml:
root
root

Então seu banco deve ter o mesmo login e senha: root

[atualizado] e veja se o o usuário tem privilégios pra inserir

Caso precise modificar os privilégios: http://www.mysql.com/doc/en/Adding_users.html

O erro é por causa do BD e não código Java.

[quote=serjaumfantin]Eu nunca trabalhei com o MyEclipse, apesar de ter vontade. rs… Não tenho certeza, mas acredito que o mesmo projeto escrito no Eclipse funciona no MyEclipse.

é problema de permissão do usuário do MySQL.

hibernate.cfg.xml:
<property name=“hibernate.connection.username”>root</property>
<property name=“hibernate.connection.password”>root</property>

Então seu banco deve ter o mesmo login e senha: root

[atualizado] e veja se o o usuário tem privilégios pra inserir

Caso precise modificar os privilégios: http://www.mysql.com/doc/en/Adding_users.html

O erro é por causa do BD e não código Java. [/quote]

OK. Fiz o que você disse !!!

:arrow: SET PASSWORD FOR ‘root’@‘localhost’ = PASSWORD(‘root’);

:arrow: [color=green]rodando !!![/color]

15:11:49,663  INFO Version:15 - Hibernate Annotations 3.4.0.GA
15:11:49,678  INFO Environment:543 - Hibernate 3.3.1.GA
15:11:49,678  INFO Environment:576 - hibernate.properties not found
15:11:49,694  INFO Environment:709 - Bytecode provider name : javassist
15:11:49,694  INFO Environment:627 - using JDK 1.4 java.sql.Timestamp handling
15:11:49,803  INFO Version:14 - Hibernate Commons Annotations 3.1.0.GA
15:11:49,803  INFO Configuration:1460 - configuring from resource: /hibernate.cfg.xml
15:11:49,803  INFO Configuration:1437 - Configuration resource: /hibernate.cfg.xml
15:11:49,943  INFO Configuration:1575 - Configured SessionFactory: null
15:11:49,959  INFO Dialect:175 - Using dialect: org.hibernate.dialect.MySQLInnoDBDialect
15:11:50,068  INFO AnnotationBinder:419 - Binding entity from annotated class: br.com.serjaum.modelo.Pessoa
15:11:50,115  INFO EntityBinder:422 - Bind entity br.com.serjaum.modelo.Pessoa on table pessoa
15:11:50,177  INFO AnnotationConfiguration:369 - Hibernate Validator not found: ignoring
15:11:50,240  INFO SchemaExport:226 - Running hbm2ddl schema export
15:11:50,240  INFO SchemaExport:251 - exporting generated schema to database
15:11:50,240  INFO DriverManagerConnectionProvider:64 - Using Hibernate built-in connection pool (not for production use!)
15:11:50,240  INFO DriverManagerConnectionProvider:65 - Hibernate connection pool size: 20
15:11:50,255  INFO DriverManagerConnectionProvider:68 - autocommit mode: false
15:11:50,255  INFO DriverManagerConnectionProvider:103 - using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost/jsf
15:11:50,255  INFO DriverManagerConnectionProvider:109 - connection properties: {user=root, password=****}

    drop table if exists pessoa

    create table pessoa (
        pessoa_id bigint not null auto_increment,
        cpf varchar(255),
        data_nasc date,
        email varchar(255),
        nome varchar(255),
        senha varchar(255),
        tel_cel varchar(255),
        primary key (pessoa_id)
    ) type=InnoDB
15:11:50,912  INFO SchemaExport:268 - schema export complete
15:11:50,912  INFO DriverManagerConnectionProvider:170 - cleaning up connection pool: jdbc:mysql://localhost/jsf

:arrow:[color=red] PAU !!![/color]

Description	Resource	Path	Location	Type
Target runtime Tomcat v6.0.18 is not defined.	crud_facelets		Unknown	Faceted Project Problem
Class is a raw type. References to generic type Class&lt;T&gt; should be parameterized	DAO.java	crud_facelets/src/br/com/serjaum/dao	line 11	Java Problem
Class is a raw type. References to generic type Class&lt;T&gt; should be parameterized	DAO.java	crud_facelets/src/br/com/serjaum/dao	line 14	Java Problem
Classpath entry /crud_facelets/WebContent/resources/jquery.maskedinput-1.2.1.js will not be exported or published. Runtime ClassNotFoundExceptions may result.  	crud_facelets		P/crud_facelets	Classpath Dependency Validator Message
Classpath entry C:/Program Files/MySQL/MySQL Server 5.4/mysql-connector-java-5.1.8-bin.jar will not be exported or published. Runtime ClassNotFoundExceptions may result.  	crud_facelets		P/crud_facelets	Classpath Dependency Validator Message
createRange declaration is not found	jquery.maskedinput-1.2.1.js	crud_facelets/WebContent/resources	L/crud_facelets/WebContent/resources/jquery.maskedinput-1.2.1.js	Validation Message
createRange declaration is not found	jquery.maskedinput-1.2.1.js	crud_facelets/WebContent/resources	L/crud_facelets/WebContent/resources/jquery.maskedinput-1.2.1.js	Validation Message
No grammar constraints (DTD or XML schema) detected for the document.	.jsdtscope	crud_facelets/build/classes/.settings	line 1	XML Problem
No grammar constraints (DTD or XML schema) detected for the document.	build.xml	crud_facelets/build	line 1	XML Problem
No grammar constraints (DTD or XML schema) detected for the document.	build.xml	crud_facelets/build/classes/build	line 1	XML Problem
No grammar constraints (DTD or XML schema) detected for the document.	org.eclipse.wst.common.component	crud_facelets/build/classes/.settings	line 1	XML Problem
No grammar constraints (DTD or XML schema) detected for the document.	org.eclipse.wst.common.project.facet.core.prefs.xml	crud_facelets/build/classes/.settings	line 1	XML Problem
No grammar constraints (DTD or XML schema) detected for the document.	org.eclipse.wst.common.project.facet.core.xml	crud_facelets/build/classes/.settings	line 1	XML Problem
orientation declaration is not found	jquery.maskedinput-1.2.1.js	crud_facelets/WebContent/resources	L/crud_facelets/WebContent/resources/jquery.maskedinput-1.2.1.js	Validation Message
Using ++ and -- is considered harmful	jquery.maskedinput-1.2.1.js	crud_facelets/WebContent/resources	L/crud_facelets/WebContent/resources/jquery.maskedinput-1.2.1.js	Validation Message
Using ++ and -- is considered harmful	jquery.maskedinput-1.2.1.js	crud_facelets/WebContent/resources	L/crud_facelets/WebContent/resources/jquery.maskedinput-1.2.1.js	Validation Message
Using ++ and -- is considered harmful	jquery.maskedinput-1.2.1.js	crud_facelets/WebContent/resources	L/crud_facelets/WebContent/resources/jquery.maskedinput-1.2.1.js	Validation Message
Using ++ and -- is considered harmful	jquery.maskedinput-1.2.1.js	crud_facelets/WebContent/resources	L/crud_facelets/WebContent/resources/jquery.maskedinput-1.2.1.js	Validation Message
Using ++ and -- is considered harmful	jquery.maskedinput-1.2.1.js	crud_facelets/WebContent/resources	L/crud_facelets/WebContent/resources/jquery.maskedinput-1.2.1.js	Validation Message
Using ++ and -- is considered harmful	jquery.maskedinput-1.2.1.js	crud_facelets/WebContent/resources	L/crud_facelets/WebContent/resources/jquery.maskedinput-1.2.1.js	Validation Message
Using ++ and -- is considered harmful	jquery.maskedinput-1.2.1.js	crud_facelets/WebContent/resources	L/crud_facelets/WebContent/resources/jquery.maskedinput-1.2.1.js	Validation Message
Using ++ and -- is considered harmful	jquery.maskedinput-1.2.1.js	crud_facelets/WebContent/resources	L/crud_facelets/WebContent/resources/jquery.maskedinput-1.2.1.js	Validation Message

Outra pergunta :?:

O codigo do Crud e a parte final ou ali eu tenho um outro arquivo diferente :?: :?: :?: :?:

Estranho mesmo !!! parece esta tudo configurado :shock: :shock: :shock: :shock:

:shock: Description Resource Path Location Type
Target runtime Tomcat v6.0.18 is not defined. jsf_parte1 Unknown Faceted Project Problem
The project cannot be built until build path errors are resolved jsf_parte1 Unknown Java Problem
Unbound classpath container: ‘JRE System Library [jdk1.6.0_12]’ in project ‘jsf_parte1’ jsf_parte1 Build path Build Path Problem

Sergio se estiver alterando o projetinho , coloca a release havisando…

Valeu !!!

Não sei se o erro é porque ou o codigo esta errado ou porque a VM não é a correta ?

Description Resource Path Location Type Class is a raw type. References to generic type Class&lt;T&gt; should be parameterized DAO.java JSFGRUD/jsf/src/br/com/serjaum/dao line 14 Java Problem

Codigo DAO.java

[code]import java.util.List;
import org.apache.log4j.Logger;
import org.hibernate.Session;

public class DAO<T> {

private static Logger logger = Logger.getLogger(DAO.class);
private Class persistentClass;
protected Session session;

public DAO(Session session, Class persistentClass) {
    this.session = session;
    this.persistentClass = persistentClass;
}

protected Session getSession(){
	return session; 	
}

@SuppressWarnings("unchecked")
public T load(Long id) {
    logger.info("lendo " + persistentClass + " com id " + id);
    return (T) session.load(persistentClass, id);
}

public void save(T t) {
    logger.info("salvando  " + t);
    session.save(t);
}

public void delete(T t) {
	logger.info("Deletando " + t);
	session.delete(t);
}

@SuppressWarnings("unchecked")
public List&lt;T&gt; list() {
	logger.info("Listando todos");
	return session.createCriteria(persistentClass).list();
}

public void merge(T t) {
    logger.info("Salvando ou atualizando " + t);
    session.merge(t);
}

[/code]

:!: :!: :!: :!: :!: :!: :!: @SuppressWarnings(“unchecked”) Mas não starta a aplicação tem algo a mais ai :?: :?: :?: :?:

[code]private static Logger logger = Logger.getLogger(DAO.class);
@SuppressWarnings(“unchecked”)
private Class persistentClass;
protected Session session;

@SuppressWarnings("unchecked")
public DAO(Session session, Class persistentClass) {
    this.session = session;
    this.persistentClass = persistentClass;
}

[/code]

serjaumfantin CARA Boa noite e Parabéns !

Me diga uma coisa, quais as vantagens de usar facelets ? estou iniciando algo em jsf + richfaces, com paginas em jsp fica muito pesado… inicie baseado no seu crud em jsf…

Valeu Abraço !

Como usa ManyToOne com XHTML ?

Estou com um problema quero usar Richfaces e facelets.

coloquei no xhtml : xmlns:rich=“http://richfaces.org/rich

dentro do arquivo xhtml chamo o compomente richfaces: <rich:calendar></rich:calendar>

mais dentro dos componente richfaces não tenho acesso aos atributos, so tendo acesso ao atributo id, estou usando
facelets 1.1.14 e richfaces 3.3.0

Como esta :<rich:calendar></rich:calendar>

Como deveria esta <rich:calendar converter="" currentDate="" dayStyleClass=""> </rich:calendar>

Desde ja agradeco a todos.