Feb 08
Foi publicada no portal Java Magazine a 6ª vÃdeo aula da série sobre JBoss Seam. Nesta vÃdeo aula eu mostrei como é feita a integração entre o Seam e o Spring Framework.
O fato do Seam suportar a injeção de objetos presentes no contexto JSF permite que os beans declarados com contexto do Spring sejam facilmente consumidos pelos componentes Seam. Aà surgiria um problema, como fazer os beans presentes no contexto Spring ficar disponÃveis no contexto JSF? Simples, o Spring possui um VariableResolver que disponibiliza os beans existentes dentro do contexto Spring.
Download dos Fontes VÃdeo Aula
VÃdeo Aula
Jan 26
Foi publicada ontem no portal Java Magazine a 5ª vÃdeo aula da série sobre JBoss Seam. Nesta vÃdeo aula eu mostrei como criar páginas em JSF usando o conceito de URL User Friendly.
O caminho não é complexo, como o JBoss Seam tem suporte ao protocolo Rest, para produzir páginas com URL amigáveis basta usar o URL Rewrite em conjunto. A integração entre os dois frameworks é bem simples: Basta criar um componente Seam fazendo o papel de Adapter ao Filtro que o URL Rewrite utiliza. Para criar as urls amigáveis, basta usar page actions do seam e configurar as rules do URL Rewrite.
Nas próximas partes irei mostrar a integração com Spring Framework, EJB e gerenciamento de escopos.
CrÃticas e sugestões são sempre bem vindas.
Download dos Fontes VÃdeo Aula
VÃdeo Aula
Jan 21
O Jboss Seam não usa Injeção de Dependências, ele usa bijection. Para usar desta funcionalidade basta usas as anotações @in e @out. A anotação @in injeta um determinado componente Seam em uma propriedade. Já a anotação @out, injeta a instância de um determinado componente no atributo do bean e também em uma variável de contexto.
Vamos supor que temos um componente seam:
// imports
@Name("beanTest1")
public class BeanTest1 {
// atributos
}<code>
Para injetá este componente Seam basta:
// imports
@Name("beanTest2")
public class BeanTest2 {
@In
private BeanTest2 beanTest1;
}<code>
No exemplo acima, BeanTest1 será automaticamente injetado na propriedade beanTest1. Como o componente e a propriedade tem o mesmo nome, o Jboss Seam consegue fazer a associação. Caso fossem diferentes poderia ser feito da seguinte forma: @In(”#{beanTest1}”). O atributo required também é bastante interessante, pois permite validar a obrigatoriedade ou não da injeção de dependência.
Para a anotação @out vamos imaginar o seguinte exemplo:
// imports
@Name("beanTest2")
public class BeanTest2 {
@DataModel
private List<BeanTest1> beanList;
@Out
@DataModelSelection
private BeanTest2 selectedBean;
}<code>
Assim quando a linha for selecionada será injetada a propriedade beanTest1 e uma variável de escopo de evento selectedBean seria injetado novamente. Desta forma selecionando uma linha seria possÃvel acessar a linha selecionada da seguinte maneira: #{selectedBean}.
É uma grande pena que o Jboss seam não tenha autowire para fazer as associações pelo menos de injeção automaticamente. Mas já ajuda bastante.
Jan 17
Foram publicadas hoje no portal Java Magazine as 4 primeiras vÃdeo aulas da série sobre JBoss Seam. Nestas vÃdeo aulas procurei abordar os tópicos iniciais para quem deseja usar o framework.
Parte 1: Mostra a obtenção do plugin, criação, configuração de uma aplicação hello world.
Parte 2: Dá inÃcio a um cadastro de usuários, criando entidade e managed bean, que no Jboss Seam é conhecido como componente Seam.
Parte 3: Cria a view do cadastro de usuários explorando os recursos de validação de formulário, data models e mostra um simples exemplo de page actions.
Parte 4: Explora page actions para requisições em GET e mostra como é possÃvel passar parâmetros durante a chamada de uma action.
Nas próximas partes irei mostrar como usar URL user friendies no Jboss Seam, antes de partir para integração com Spring Framework, EJB e gerenciamento de escopos.
CrÃticas e sugestões são sempre bem vindas.
Comentarios recentes