Facing new challenges everyday

tablelessPanelGrid

July 30th, 2006

Acabei de desenvolver um componente similar ao panelGrid que ao invés de usar tabelas para formar o layout da página ele gera automaticamente DIVs no lugar de uma célula de tabela, muito útil para desenvolvedores de aplicações tableless.

Para baixar o pacote do componente clique aqui.

Atenção! Este componente requer o tomahawk.jar do Apache MyFaces.

Post to Twitter

Portlets, MyFaces e Facelets

July 27th, 2006

Recentemente comecei os meus estudos sobre Portlets, após algum tempo pesquisando cheguei à conclusão que o Liferay tem um bom suporte para portlets feitos com JavaServer Faces, comecei então a codificar um, agora eu tenho um pequeno Portlet para checagem de e-mails em um servidor POP3, onde o endereço do servidor pode ser configurado nas preferências do Portlet. O mesmo Portlet faz uso do Facelets para criação de alguns componentes triviais que são compostos de outros componentes.
O próximo passo é o suporte para alguns componentes do MyFaces que fazem uso de código JavaScript específicos, tal como suporte para AJAX.

Post to Twitter

inputNumber

July 24th, 2006

Recentemente criei um componente que só aceita teclas numéricas, esse componente converte o valor informado no tipo de dado que você desejar, entre eles: Integer, Long, Byte e Short.

Para usá-lo baixe o inputnumber.jar e adicione as seguintes linhas na sua página:

1
<%@ taglib uri="http://faces.eti.br/fbr" prefix="fbr"%>

e para usar o componente:

1
<fbr:inputNumber type="integer" value="#{bean.codigo}"/>

ou

1
2
<fbr:inputNumber type="integer" id="txtCodigo"
  binding="#{bean.txtCodigo}"/>

Post to Twitter

Converter genérico para entidades

July 21st, 2006

Criei recentemente um converter capaz de pegar uma entidade do hibernate, obter o seu código identificador e atribuí-lo a um componente, e mais, ao enviar os dados para o servidor esse converter obtém o código informado e carrega a entidade correspondente no banco de dados, tudo isso automaticamente, no final ficou assim:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<h:selectOneMenu value="#{bean.sistemaSelecionado}"  
converter="#{entityConverter.entity['Sistema;codigo']}">
   <s:selectItems value="#{bean.sistemas}"
     var="sistema" itemLabel="#{sistema.nome}"
     itemValue="#{sistema}" />
</h:selectOneMenu>

ou

<h:selectOneMenu value="#{bean.sistemaSelecionado}">
   <fbr:entityConverter entity="Sistema"
     idProperty="codigo"/>
   <s:selectItems value="#{bean.sistemas}"
     var="sistema" itemLabel="#{sistema.nome}"
     itemValue="#{sistema}" />
</h:selectOneMenu>

e no meu bean bastou isso:

1
    Sistema sistema = sistemaSelecionado;

Agora ficou mais simples e automático o processo envolvendo a recuperação de entidades do hibernate.

Faça o download do clicando aqui.

Post to Twitter

Para cada situação uma solução diferente

July 20th, 2006

Em algumas páginas eu preciso ter um controle muito intenso de várias características dos componentes envolvidos, para tanto eu uso component binding, mas quando a situação é mais complicada, ou seja, tenho uma sequência de páginas em um cadastro o melhor então é usar value binding que permite que o(s) bean(s) envolvidos possam manter seu estado ao longo de várias requisições como foi o caso de uma página de inscrição de concurso que criei recentemente.

Post to Twitter

Next Page »

Visitors Around the World

Polls

How Is My Site?

View Results

Loading ... Loading ...

Categories

Meta

Links

hosted by easy2use.net