Facing new challenges everyday

<s:selectItems/>

July 18th, 2006

Até hoje criar uma lista de itens para preencher uma listbox era uma tarefa um tanto chata, mas finalmente isso chegou ao fim, um colega desenvolvedor criou uma variação da tag <f:selectItems/> que ao invés de necessitar que uma ArrayList seja preenchida com instâncias de <f:selectItem/> permite que você preencha da mesma forma que um <h:dataTable/>, ou seja, assim:

<s:selectItems value=”#{bean.listaCarros}” var=”carro”
itemLabel=”#{carro.nome}” itemValue=”#{carro.placa}”/>

No final da história basta preencher listaCarros com instâncias da entidade Carro, simples não?

DZoneGoogle BookmarksFacebookEvernoteLinkedInDeliciousShare

Component binding ou value binding?

July 15th, 2006

Essa é uma dúvida cruel, o component binding traz uma idéia que lembra o Swing, por outro lado o value binding parece ser mais simples, ainda estou na dúvida de qual seria a melhor opção a ser usada no dia a dia.

Sei de uma coisa, component binding se sai melhor quando estamos trabalhando com ValueChangeEvents do que os value bindings.

Espero tomar uma decisão muito em breve.

DZoneGoogle BookmarksFacebookEvernoteLinkedInDeliciousShare

Odeio ValueChangeListeners!

July 14th, 2006

Se há uma coisa que me irrita no JSF são os ValueChangeListeners! Nunca funcionam do jeito que quero, são cheios de deficiências que tornam os mesmos em algo completamente ineficiente em aplicações JavaServer Faces.

O seguinte trecho:

1
2
3
4
5
public void pesquisa(ValueChangeEvent evento)
{
    nome = "xyz"; //uma propriedade de um campo na página
    FacesContext.getCurrentInstance().renderResponse();
}

Deveria funcionar sem problemas, mas não funciona. É a mais triste realidade.

DZoneGoogle BookmarksFacebookEvernoteLinkedInDeliciousShare

Eclipse 3.2 (Callisto)

July 11th, 2006

Essa última versão do Eclipse está simplemente espetacular! Com ela é possível criar entidades EJB somente na base de cliques de mouse, tudo muito simples! E como se não fosse o suficiente, também é possível criar projetos JSF com muita simplicidade!

DZoneGoogle BookmarksFacebookEvernoteLinkedInDeliciousShare

Hibernate Annotations

July 11th, 2006

Recentemente criei uma aplicação completamente baseada em annotations do hibernate, ficou muito enxuta e fácil de configurar, com apenas algumas linhas o usuário pode mapear suas classes java para serem persistidas em banco.

Eis um exemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
package br.gov.go.tj.scu.entidades;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Parameter;

/* Entidade Sistema.
 *
 * @author Rogerio Pereira Araujo
 * @since 1.0
 */

@Entity
@Table(name = "sistema")
@NamedQuery(
    name="pesquisarSistemaPorNome",
    query="from Sistema where nome like concat(?, '%') order by nome"
)
public class Sistema implements Serializable {

    static final long serialVersionUID = 1l;
   
    private Integer codigo;
    private String   nome;
    private String   descricao;

    public Sistema() {

    }

    @Id
    @GeneratedValue(
       strategy = GenerationType.SEQUENCE,
       generator = "SEQ_SISTEMA"
    )
    @GenericGenerator(
    name="SEQ_SISTEMA",
    strategy = "sequence",
    parameters = {
        @Parameter(
                   name="sequence",
                   value="sistema_codg_sistema_seq"
                )
    }
    )
    @Column(name = "codg_sistema")
    public Integer getCodigo() {
        return(codigo);
    }

    public void setCodigo(Integer codigo) {
        this.codigo = codigo;
    }

    @Column(name="nome_sistema")    
    public String getNome() {
        return(nome);
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    @Column(name="desc_sistema")    
    public String getDescricao() {
    return descricao;
    }

    public void setDescricao(String descricao) {
    this.descricao = descricao;
    }
}
DZoneGoogle BookmarksFacebookEvernoteLinkedInDeliciousShare
« Previous PageNext Page »

Visitors Around the World

Polls

How Is My Site?

View Results

Loading ... Loading ...

Categories

Meta

Links

hosted by easy2use.net