Eu e um amigo estamos desenvolvendo uma taglib,
pensamos em fazer semelhante a “convenção” do struts,
onde passamos para a taglib o nome do objeto e por reflection ela invoca o metódo.
Lembre-se de que metodos que retorna booleanos podem ter o getter no formato “isAtributo”. Tendo isso em mente acabei mudando o esquema que estava fazendo na epoca… ao inves de passar o atributo e eu tentar pegar o getter, coloquei para ser passado diretamente o nome do metodo. Para o usuario nao muda muito e eh mais pratico, pois ele pode dar o nome que ele quiser para o metodo.
Se voce tem um ambiente controlado e pode garantir que nao ocorrerao conflitos de seguranca com o Security Manager, considere utilizar diretamente os atributos, sem passar pelo getter. Eh um negocio bacana que da pra fazer com reflection.
Marcio Kuchma
P
phstc
maxguzenski:
caram tenho 99% de certeza q essa é a maneira correta…
mas como o struts é openSource nao custa nada olhar o codigo deles ne ?
Peguei os fontes do struts, não achei nada de concatenção, porém não entedi como eles, vou demais para mim
P
phstc
kuchma:
phstc:
Fui fazer isso, mas por reflection a única maneira que achei,
foi pegar a primeira letra da property fazer um upper nela e concatenar:
Lembre-se de que metodos que retorna booleanos podem ter o getter no formato “isAtributo”. Tendo isso em mente acabei mudando o esquema que estava fazendo na epoca… ao inves de passar o atributo e eu tentar pegar o getter, coloquei para ser passado diretamente o nome do metodo. Para o usuario nao muda muito e eh mais pratico, pois ele pode dar o nome que ele quiser para o metodo.
Se voce tem um ambiente controlado e pode garantir que nao ocorrerao conflitos de seguranca com o Security Manager, considere utilizar diretamente os atributos, sem passar pelo getter. Eh um negocio bacana que da pra fazer com reflection.
Marcio Kuchma
Nunca usei boolean com is, como ficaria? Sempre usei como qualquer getter e setter! Acho interessante passar pelo atributo, somente para manter o “padrão” adotado pelo struts!
Você diz usar atributos públicos???
[]'s,
Pablo
kuchma
Primeiro vamos com esta.
Nao… voce pode usar atributos privados e ler seus conteudos via reflection, desde que o Security Manager nao barre isso (por default ele nao faz isso).