Aplicação Web Completa (Com código para Download)

54 respostas
Hebert_Coelho

Pessoal, boa tarde.

Depois de vários dias/noites escrevendo esse poste, finalmente ele saiu.

É uma aplicação web completa.

Ela tem as seguintes tecnologias:
[list]JSF 2.0[/list][list]Crud Utilizando RequesteScope[/list][list]Validação de Usuario por JAAS[/list][list]EJB 3.0[/list][list]JPA 2.0[/list][list]Dao Genérico[/list][list]Configuração de Datasource para JBoss 7 (Criando por módulo para Postgres/MySQL)[/list]
O código fonte está lá, é só pegar e utilizar. \o/
O post está enorme, mas nele eu explico o passo a passo e ainda mostro como aplicar a parte ejb para JBoss 4.2 e JBoss 6.

Bem, depois de muito suor, lágrimas, e gols do Real Madrid o post ficou pronto.

É um bom post para abrir o ano.

Espero que vocês gostem: Aplicação Web Completa JSF EJB JPA JAAS.

Qualquer coisa/dica/crítica, é só falar.

Se possível, poderiam divulgar para seus colegas de trabalho? Como forma de incentivo ao blog! [=

OBS.: O JBoss 7 foi solicitado por leitores do blog, caso você também queira algo fala uai. Vai que…

54 Respostas

perdeu

mtoo bom =)

romarcio

Estou curioso em ver o JBoss 7 rodando, ainda não testei ele. Valeu!

luxu

[quote=romarcio]Estou curioso em ver o JBoss 7 rodando, ainda não testei ele. Valeu/quote

Hebert_Coelho

Obrigado pela força. [=

BrunoFurtado

Sensacional

hvivox

Ótimo muito bom!

Se você mostrar como montar um servidor de paginas para publicar o sistema na internet será perfeito.

att.

Hebert_Coelho

hvivox:
Ótimo muito bom!

Se você mostrar como montar um servidor de paginas para publicar o sistema na internet será perfeito.

att.


Bem, posso colocar nos futuros posts. Vc fala tipo montar um servidor para as pessoas acessarem pela web?

hvivox

jakefrog:
hvivox:
Ótimo muito bom!

Se você mostrar como montar um servidor de paginas para publicar o sistema na internet será perfeito.

att.


Bem, posso colocar nos futuros posts. Vc fala tipo montar um servidor para as pessoas acessarem pela web?

Isso mesmo, por exemplo, tenho aqui um link (net e modem da vivo) ligada a uma máquina que será meu servidor de páginas, no qual irá disponibilizar o sistema.
Bem não quero sair do foco de seu post. De qualquer forma obrigado por compartilhar seu sistema, não é qualquer pessoa que faz isso, parabéns.

att.

Hebert_Coelho

hvivox:
Isso mesmo, por exemplo, tenho aqui um link (net e modem da vivo) ligada a uma máquina que será meu servidor de páginas, no qual irá disponibilizar o sistema.
Bem não quero sair do foco de seu post. De qualquer forma obrigado por compartilhar seu sistema, não é qualquer pessoa que faz isso, parabéns.

Obrigado pela dica.

Bem, se eu encontrar uma forma genérica eu poderei até postar. O problema é que isso varia de link para link, se o cara está atrás de um roteador e assim vai.

Mas eu vou pensar sobre o assunto.

Valeu pela força aí.

J

adicionado aos favoritos.

Luiz_Augusto_Prado

Ficou muito bom!
Costumo usar TomCat, mas quando tiver usando JBoss vou usar seu material como referência.
Valeu! :smiley:

ViniGodoy

Movido para o fórum de desenvolvimento web.

igor_ks

Nossa! Great!

Sensasional Jakefrog, obrigado por compartilhar esse projeto, ou por fazer isso pela comunidade Java :slight_smile:

Com certeza vai ajudar mtos

fabiofalci

Dica.
Coloque esse código no github. Fica bem melhor para compartilhar.
Além do mais fica mais fácil para os outros inspecionar o código. Basta ir na página do repositório e olhar os arquivo.

jaissonduarte

[size=24]jakefrog[/size]

Hebert_Coelho

@ViniGodoy, não sabia direito em qual forum postar. Obrigado pela ajuda.

igor_ks, valeu! =D

fabiofalci:
Dica.
Coloque esse código no github. Fica bem melhor para compartilhar.
Além do mais fica mais fácil para os outros inspecionar o código. Basta ir na página do repositório e olhar os arquivo.

Opa, até me falaram para colocar lá, mas aí eu perco acesso ao post. =/
Mas você já é a segunda pessoa que fala no github. Vou estudar melhor essa possibilidade. [=

Hebert_Coelho

:oops: :oops: :oops: :oops:
Que isso mano. Valeu! [=
É sempre bom ajudar! [=

luxu

Acho o Github muito complicado, ficou mais clean do jeito q postou lá, só me impressionei q vc anota as coisas nas classes e nem precisar add jar algum, isso aconteceu por causa do EJB?

Hebert_Coelho

Do modo como está, eu estou utilizando as bibliotecas do JBoss. Por com isso fica mais fácil de configurar a aplicação.

Funcionaria com outro servidor tipo o Glassfish por exemplo, pois ele já tem as bibliotecas necessárias. [=

jaissonduarte

Caro Jackfrog ao estudar melhor seu projeto observei que
eu faço muita besteira (mas funciona :smiley: ) escrevo muita coisa desnecessária
estou espalhando sua aplicação para todos os meus colegas, alunos da computação e professores da instituição onde estudo
meus parabéns

mas tenho algumas duvidas em relação a abstração no caso de autenticação (eu de novo)

meu orientador aconselhou a fazer assim como mostra a imagem

pois bem acho que sua lógica esta correta
afinal um usuario pode ser administrador como simples usuario e tem aqueles que podem realizar somente algumas tarefas

mas criar 3 tabelas :twisted:

fazer o que é ele que manda eu só desenvolvo :frowning:

então gostaria da opinião de vocês já que são mais evoluídos do que eu.


Hebert_Coelho

Realmente, faça como seu professor falou.

O normal é ter mais de uma tabela e até mesmo uma classe só para o perfil, que geralmente é chamado de Role (ou Papel).

Em alguns sistemas, a pessoa tem que ser um usuário normal e poderia ser também um gerente e um mantenedor.

Eu fiz colocando tudo na mesma tabela, nesse post, apenas para ficar mais fácil de entender; para adaptar basta criar a classe e alterar o standalone.xml alterando a consulta do perfil. [=

Você poderia fazer com duas tabelas ou três que foi como seu professor te orientou. Nesse post, eu mostro como fazer para duas tabelas: Validação de Login de Usuário com JSF e JAAS.

Por gosto pessoal, eu chamaria a tabela de conexão de usuario_tem_funcao.

Espero ter ajudado. :smiley:

jaissonduarte

prezado jakefrog

gostaria de saber, não quero começar outra guerra ou descontentamento por parte dos moderadores e admin para fechar o post,
por que você usa a IDE Eclipse… com o JBoss?

tipo eu uso o NetBeans pois foi com ele que aprendi a programar em Java, e uso o Glassfish pois vem junto com ele e TomCat era um endemoniado que sempre dava problemas,

então por que usa o Eclipse e JBoss? foi com eles que você aprendeu ou por que ao usar outras IDEs percebeu que ele era melhor pois…
e o JBoss é bom pois…

Hebert_Coelho

Eu comecei já utilizando o Eclipse pois em todas as empresas que eu já trabalhei nenhuma utilizava outra IDE a não ser o Eclipse. E no mercado, sei de poucas (mas poucas mesmo) empresas que utilizam Netbeans.

Eu já trabalhei com os dois mas com o Eclipse eu aprendi mais. O Eclipse te obriga a saber muitas coisas que o Netbeans já faz por você. A exemplo criar uma aplicação Web com EJB e botar o trem para funcionar.

Uma vantagem que eu vejo do Eclipse sobre Netbeans é que ele é mais produtivo quanto a atalhos e navegações.

Uma coisa que eu achei chato pacas é que para copiar/mover um arquivo no Netbeans você tem que abrir a janela correta, no Eclipse eu nunca tive esse problema viu.

E uma aplicação minha que eu criei no Netbeans eu acabei por migrar para o Eclipse.

Escolho o JBoss pois é o que eu vejo mais no mercado, mas pretendo escrever mes que vem, um artigo com JSF/Tomcat 7/JPA fazendo login por Phaselistner. [=

jaissonduarte

thank you muito esclarecedor !!

aguardamos ansiosos o seu próximo artigo :smiley:

E

Muito bom, é o que me deu base para o TCC!

Hebert_Coelho

ederdiablo:
Muito bom, é o que me deu base para o TCC!
Opa!
Ficou feliz por ajudar! =D

Z

Amigo, parabéns pelo seu trabalho!
Está me ajudando muito a iniciar com o Java. E digo mais, com seu blog vi que Java não era tudo aquilo que pensava; Eu tinha uma visão de que desenvolver uma aplicação era extremamente demorada, que eu precisaria escrever 300 linhas para criar um botão. Muito obrigado e parabéns novamente por compartilhar seu conhecimento com todos!!

Alexandre_Saudate

Sugestões:

  • Colocar no Github;
  • Colocar no Maven
  • Implementar testes com Arquillian
  • Expôr alguns desses EJB’s com REST, também
  • “matar” as interfaces dos EJB’s (hoje em dia, elas já não são mais necessárias)

[]'s

Hebert_Coelho

@Zenity Valeu pelo apoio!

asaudate:
Sugestões:

  • Colocar no Github;
  • Colocar no Maven
  • Implementar testes com Arquillian
  • Expôr alguns desses EJB’s com REST, também
  • “matar” as interfaces dos EJB’s (hoje em dia, elas já não são mais necessárias)

[]'s

Opa, beleza?

  • Quanto ao Github eu não parei para estudar seu funcionamento ainda. Ele tem um conceito diferente de repositório e não gostaria de utilizar por tentativa.
  • Maven eu ainda não coloquei pois quero estudá-lo também. Apesar de já ter utilizado no trabalho, quero entender melhor seus conceitos. Hoje não utilizo pois eu gosto de mostra nos posts quais são os jars utilizados. Fica bem claro com a fotinha lá.
  • Arquillian eu já li algum material sobre ele, mas ainda não meti a mão.
  • Eu tenho estudado webservices para justamente fazer algo legal com EJB. [=
  • Quanto as Interfaces eu só deixo por boa prática mesmo, mas vou passar a destacar e informar que para EJB locais elas não mais necessárias.

No momento tenho lido sobre webservices, mas não estou caminhar muito. Estou fazendo um curso de Scala online e revisando um livro sobre Primefaces (estou no capítulo 4 e são uns 12). Tá complicado arrumar tempo, mas pretendo ainda estudar e postar sobre Github, Maven e o Arquillian. [=

Sem falar que tenho que ver Spring… pffff

Quanto mais você estuda, mas você vê que não sabe nada… -_-’’

Obrigado pelas dicas. Quanto mais melhor.

Alexandre_Saudate

Jakefrog,

Se quiser, dê uma olhada em http://www.jboss.org/jdf/quickstarts/get-started/ . Esta página é do JBoss Developer Framework (JDF), que nada mais é do que um monte de quickstarts mais ou menos neste molde que falei (EJB’s, REST, Arquillian, Maven, etc… ). Todos estes códigos estão hospedados no github. O mais completo é o kitchensink, mas tem também o Ticket Monster (que não está na listagem), que também implementa tudo isso. De repente, te dá alguma idéia de coisas que você pode colocar no seu projeto, também :wink:

[]'s

UPDATE: O repositório está em https://github.com/jboss-jdf

Hebert_Coelho

asaudate:
Jakefrog,

Se quiser, dê uma olhada em http://www.jboss.org/jdf/quickstarts/get-started/ . Esta página é do JBoss Developer Framework (JDF), que nada mais é do que um monte de quickstarts mais ou menos neste molde que falei (EJB’s, REST, Arquillian, Maven, etc… ). Todos estes códigos estão hospedados no github. O mais completo é o kitchensink, mas tem também o Ticket Monster (que não está na listagem), que também implementa tudo isso. De repente, te dá alguma idéia de coisas que você pode colocar no seu projeto, também :wink:

[]'s

Opa, maravilha. Anotei aqui para quando tiver um tempo eu vou olhar! [=

saoj

Parabéns. Qual a URL para eu acessar a aplicação para saber o que ela faz, quais as funcionalidades, etc. ?

Hebert_Coelho

saoj:
Parabéns. Qual a URL para eu acessar a aplicação para saber o que ela faz, quais as funcionalidades, etc. ?
Opa! Valeu.

São basicamente CRUDs para dar um start up para o pessoal que está começando. [=

Aqui tem: Aplicação Web Completa JSF EJB JPA JAAS
E aqui tem: Aplicação Web Completa Tomcat JSF Primefaces JPA Hibernate com login por filtro.

Lá já tem o código fonte tudo certinho. Só fazer o download, configurar o DS e usar! \o/
[=

ManoJava

Boa tarde!!

Parabéns pela iniciativa e pelo trabalho, muito bom!!!

Att.

saoj

jakefrog:
saoj:
Parabéns. Qual a URL para eu acessar a aplicação para saber o que ela faz, quais as funcionalidades, etc. ?
Opa! Valeu.

São basicamente CRUDs para dar um start up para o pessoal que está começando. [=

Aqui tem: Aplicação Web Completa JSF EJB JPA JAAS
E aqui tem: Aplicação Web Completa Tomcat JSF Primefaces JPA Hibernate com login por filtro.

Lá já tem o código fonte tudo certinho. Só fazer o download, configurar o DS e usar! \o/
[=

Filhão, quero testar a aplicação e não ler sobre ela. Ver funcionando, me cadastrar, me logar, etc.

Hebert_Coelho

saoj:
jakefrog:
saoj:
Parabéns. Qual a URL para eu acessar a aplicação para saber o que ela faz, quais as funcionalidades, etc. ?
Opa! Valeu.

São basicamente CRUDs para dar um start up para o pessoal que está começando. [=

Aqui tem: Aplicação Web Completa JSF EJB JPA JAAS
E aqui tem: Aplicação Web Completa Tomcat JSF Primefaces JPA Hibernate com login por filtro.

Lá já tem o código fonte tudo certinho. Só fazer o download, configurar o DS e usar! \o/
[=

Filhão, quero testar a aplicação e não ler sobre ela. Ver funcionando, me cadastrar, me logar, etc.

O link tá lá uai. o.O
Mas coloco aqui.
JBoss EJB JSF JPA https://sites.google.com/site/uaihebertdeposito/FullWebApplication.zip?attredirects=0
Tomcat JSF JPA https://sites.google.com/site/uaihebertdeposito/JSFCrudApp.rar?attredirects=0&d=1

saoj

jakefrog:
saoj:
jakefrog:
saoj:
Parabéns. Qual a URL para eu acessar a aplicação para saber o que ela faz, quais as funcionalidades, etc. ?
Opa! Valeu.

São basicamente CRUDs para dar um start up para o pessoal que está começando. [=

Aqui tem: Aplicação Web Completa JSF EJB JPA JAAS
E aqui tem: Aplicação Web Completa Tomcat JSF Primefaces JPA Hibernate com login por filtro.

Lá já tem o código fonte tudo certinho. Só fazer o download, configurar o DS e usar! \o/
[=

Filhão, quero testar a aplicação e não ler sobre ela. Ver funcionando, me cadastrar, me logar, etc.

O link tá lá uai. o.O
Mas coloco aqui.
JBoss EJB JSF JPA https://sites.google.com/site/uaihebertdeposito/FullWebApplication.zip?attredirects=0
Tomcat JSF JPA https://sites.google.com/site/uaihebertdeposito/JSFCrudApp.rar?attredirects=0&d=1

Esperar que o cara baixe e instale a aplicação para testá-la é demais. Sei que talvez vc não tenha um servidor para colocar isso no ar, mas seria interessante. Te recomendo Linode.com.

Se algum dia ela tiver no ar posta o link aqui para eu dar uma olhada.

Thanks!

Alexandre_Saudate

jakefrog:
saoj:
jakefrog:
saoj:
Parabéns. Qual a URL para eu acessar a aplicação para saber o que ela faz, quais as funcionalidades, etc. ?
Opa! Valeu.

São basicamente CRUDs para dar um start up para o pessoal que está começando. [=

Aqui tem: Aplicação Web Completa JSF EJB JPA JAAS
E aqui tem: Aplicação Web Completa Tomcat JSF Primefaces JPA Hibernate com login por filtro.

Lá já tem o código fonte tudo certinho. Só fazer o download, configurar o DS e usar! \o/
[=

Filhão, quero testar a aplicação e não ler sobre ela. Ver funcionando, me cadastrar, me logar, etc.

O link tá lá uai. o.O
Mas coloco aqui.
JBoss EJB JSF JPA https://sites.google.com/site/uaihebertdeposito/FullWebApplication.zip?attredirects=0
Tomcat JSF JPA https://sites.google.com/site/uaihebertdeposito/JSFCrudApp.rar?attredirects=0&d=1

O que o saoj quis dizer foi que ele quer ver a aplicação funcionando, isto é, não ter que baixar, executar na própria máquina, etc., etc., mas sim ver no ar. Como é uma aplicação pequena, nem sei dizer se vale a pena fazer isso, mas em todo caso você poderia dar uma olhada no OpenShift, da JBoss, para disponibilizar na nuvem deles (até uma quantidade X de máquinas, é free).

[]'s

Hebert_Coelho

saoj:
Esperar que o cara baixe e instale a aplicação para testá-la é demais. Sei que talvez vc não tenha um servidor para colocar isso no ar, mas seria interessante. Te recomendo Linode.com.

Se algum dia ela tiver no ar posta o link aqui para eu dar uma olhada.

Thanks!

Talvez alguém do seu nível não precise, mas quem precisa desse pontapé inicial sim. [=
Conheço muuuita gente que baixou o código para testar, pois queria ver o código inteiro.

Depois vou olhar o Linode. Valeu pela dica. [=

Hebert_Coelho

asaudate:
O que o saoj quis dizer foi que ele quer ver a aplicação funcionando, isto é, não ter que baixar, executar na própria máquina, etc., etc., mas sim ver no ar. Como é uma aplicação pequena, nem sei dizer se vale a pena fazer isso, mas em todo caso você poderia dar uma olhada no OpenShift, da JBoss, para disponibilizar na nuvem deles (até uma quantidade X de máquinas, é free).

[]'s

Maravilha. Valeu! [=

saoj

jakefrog:
asaudate:
O que o saoj quis dizer foi que ele quer ver a aplicação funcionando, isto é, não ter que baixar, executar na própria máquina, etc., etc., mas sim ver no ar. Como é uma aplicação pequena, nem sei dizer se vale a pena fazer isso, mas em todo caso você poderia dar uma olhada no OpenShift, da JBoss, para disponibilizar na nuvem deles (até uma quantidade X de máquinas, é free).

[]'s

Maravilha. Valeu! [=

Hoje estou num mal humor do kacete, então me perdoe se pareci agressivo na resposta. O que eu quiz dizer é que antes de começar a estudar sobre alguma coisa é muito importante ver essa coisa funcionando.

"É isso aqui que queremos fazer hoje => http://myapp.jakefrog.com"

Se tu manja e gosta de Linux, vai de Linode. É 10000000000000000000000000000000000 vezes que a zona da Amazon.

Do resto parabéns. Eu queria ver a aplicação para ter uma idéia do que ela faz e como o JSF facilita a coisa.

R

será que tem como configurar um subsystem dentro do projeto WAR?

estou tentando modificar esta configuração do arquivo standalone.xml

<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false">
            <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
            <virtual-server name="default-host" enable-welcome-root="true">
                <alias name="localhost"/>
                <alias name="example.com"/>
            </virtual-server>
        </subsystem>

Onde que coloca no projeto WAR?

Alexandre_Saudate

Não coloca. Os sub sistemas são parte do servidor, não da aplicação. Se você quiser, é possível alterar o arquivo com a definição dos subsistemas, utilizando a opção -server-config na inicialização do servidor.

[]'s

kdashu

Hebert, sua iniciativa é muito boa cara. ajuda bastante o cara que não sabe configurar tudo do zero.

Mas estou com uma dúvida no seu crud. Vi que o metodo atualizar não faz um redirect da pagina list para a edit. Tentei fazer alterações na mão mas sem sucesso. A tela edit perde as configuraões do registro em questão. Poderia me dizer como fazer para funcionar com redirect sem perder as configurações?
Acredito que seja necessário adicionar alguns params também. Do resto está show de bola.

Obrigado e parabêns.

Hebert_Coelho

kdashu:
Hebert, sua iniciativa é muito boa cara. ajuda bastante o cara que não sabe configurar tudo do zero.

Mas estou com uma dúvida no seu crud. Vi que o metodo atualizar não faz um redirect da pagina list para a edit. Tentei fazer alterações na mão mas sem sucesso. A tela edit perde as configuraões do registro em questão. Poderia me dizer como fazer para funcionar com redirect sem perder as configurações?
Acredito que seja necessário adicionar alguns params também. Do resto está show de bola.

Obrigado e parabêns.

Você terá que colocar o objeto no flashScope antes de enviar para tela de edição.

Aqui mostra como: JSF Mini Livro - Dicas, conceitos e boas práticas

kdashu

Obrigado. E seria a melhor forma para termos a url atualizada para a tela de edit ? Assim como quando utilizamos o ?

Hebert_Coelho

kdashu:
Obrigado. E seria a melhor forma para termos a url atualizada para a tela de edit ? Assim como quando utilizamos o ?
Redirect é o modo de atualizar a URL no browser. [=

bobfroes

Parabéns, cara!

Trabalhamos com essa arquitetura aqui na empresa. Muito prático!

Utilizo o Netbeans + Glassfish. Vou testar aqui sua app no Eclipse + Jboss como vc mostrou e fazer algumas comparações. Ainda não tive a oportunidade de trabalhar com essas tecnologias, mas tudo bem, a gente aprende de boa.

Presença, me diga uma coisa? Estava vendo seu currículo e gostei muito do layout! Desculpe minha ignorância, mas foi vc mesmo quem o fez? Dá uma dica aí.

Desde já agradeço.
:wink:

Hebert_Coelho

bobfroes:
Parabéns, cara!

Trabalhamos com essa arquitetura aqui na empresa. Muito prático!

Utilizo o Netbeans + Glassfish. Vou testar aqui sua app no Eclipse + Jboss como vc mostrou e fazer algumas comparações. Ainda não tive a oportunidade de trabalhar com essas tecnologias, mas tudo bem, a gente aprende de boa.

Presença, me diga uma coisa? Estava vendo seu currículo e gostei muito do layout! Desculpe minha ignorância, mas foi vc mesmo quem o fez? Dá uma dica aí.

Desde já agradeço.
:wink:

Eu fiz com a grande ajuda do twitter bootstrap e do curriculum.rodrigosasaki.com :twisted: :twisted: :twisted: :twisted:

Conhecia o bootstrap e mostrei pra ele, aí ele montou o cv dele e me mandou o fonte. Eu editei e alterei o nome das variáveis para o professor não brigar! :lol: :lol: :lol:

O twitter bootstrap é muito bom e fácil de se usar. Olha o site deles, fácil e bonito! =D

Rodrigo_Sasaki

Hahahahaha, realmente. Você roubou o design mas pelo menos pediu antes :stuck_out_tongue:

bobfroes

Kkkkk, ficou show mesmo! Valews.

kdashu

Sim eu sei disso Hebert, por isso perguntei sobre a questão de entrar na tela de edição mas esta não usar o redirect do faces-config. Com Seam costumava passar parametros de uma página para a outra, mas no JSF puro imagino que seja o mesmo.

kdashu

Pessoal, desculpem a pergunta mas voltei a este assunto porque minha aplicação necessita do envio de parametros pela forma do redirect,
conforme estava acostumado com o seam. No jsf 2 ainda não ficou 100% esta questão.

Tenho uma tela list e quero editar um registro do datatable.

lista.xhtml

...
<p:dataTable value="#{carrosMB.listarTodos}" var="carro">
  <p:column headerText="#{msgs.carroId}" width="80">
	<h:outputText value="#{carro.id}" />
  </p:column>
					
   <p:column headerText="#{msgs.carroNome}">
	<h:outputText value="#{carro.nome}" />
   </p:column>
</p:dataTable>

<h:link outcome="edit" value="editar" >
	<f:param name="carroId" value="#{carro.id}"/>							
</h:link>

edit.xhtml

<f:metadata>
   	<f:viewParam name="carroId" value="#{carroMB.carro.id}" />
</f:metadata>
...
<p:inputText id="carroId" value="#{carroMB.carro.id}" />

Fazendo desta forma consigo receber o id do objeto carro com redirect ok. Mas como faço para enviar o objeto inteiro da pagina list para edit e então poder usar os seus elementos? Tentei de fato enviar <f:param name=“carro” value="#{carro}"/> no param e do outro lado recebê-lo, mas é lançado apenas um Servlet.service() for servlet Faces Servlet threw exception: java.lang.NullPointerException.

Hebert_Coelho

kdashu:
Pessoal, desculpem a pergunta mas voltei a este assunto porque minha aplicação necessita do envio de parametros pela forma do redirect,
conforme estava acostumado com o seam. No jsf 2 ainda não ficou 100% esta questão.

Tenho uma tela list e quero editar um registro do datatable.

lista.xhtml

...
<p:dataTable value="#{carrosMB.listarTodos}" var="carro">
  <p:column headerText="#{msgs.carroId}" width="80">
	<h:outputText value="#{carro.id}" />
  </p:column>
					
   <p:column headerText="#{msgs.carroNome}">
	<h:outputText value="#{carro.nome}" />
   </p:column>
</p:dataTable>

<h:link outcome="edit" value="editar" >
	<f:param name="carroId" value="#{carro.id}"/>							
</h:link>

edit.xhtml

<f:metadata>
   	<f:viewParam name="carroId" value="#{carroMB.carro.id}" />
</f:metadata>
...
<p:inputText id="carroId" value="#{carroMB.carro.id}" />

Fazendo desta forma consigo receber o id do objeto carro com redirect ok. Mas como faço para enviar o objeto inteiro da pagina list para edit e então poder usar os seus elementos? Tentei de fato enviar <f:param name=“carro” value="#{carro}"/> no param e do outro lado recebê-lo, mas é lançado apenas um Servlet.service() for servlet Faces Servlet threw exception: java.lang.NullPointerException.

Abra um post com sua dúvida. O assunto deste post aqui é outro. [=

Criado 24 de janeiro de 2012
Ultima resposta 30 de abr. de 2013
Respostas 54
Participantes 21