É o seguinte…
Venho de anos de criação de páginas direto com jsp (usando struts)
Estou migrando para JSF e estou tendo muita dificuldade para interagir alguma informação com os elementos da página.
Exemplo simples:
Quero alterar um class de uma tag em relação ao ID que vem da url.
No modelo que já estou acostumado, é só fazer algo como:
[code]
">
Alguma coisa....
[/code]
Pra fazer isso num arquivo XHTML estou perdidinho!
Eu imagino que seja melhor fazer isso do lado do ManagedBean, evitando ter esse tipo de lógica no seu XHTML, que é uma má prática quando falamos de JSF.
Seu xhtml ficaria assim:[code]
Alguma coisa…
[/code]E no seu managed bean algo assim:[code]public String getStyle(){
//Seu código para descobrir qual o estilo correto
}[/code]Para ter acesso ao mapa de parâmetros do request direto do [i]ManagedBean[/i] pode fazer assim:[code]FacesContext ctx = FacesContext.getCurrentInstance();
ExternalContext externalCtx = ctx.getExternalContext();
Map params = externalCtx.getRequestParameterMap();[/code]Aí o resto fica fácil :)
Valeu Rodrigo!
Tinha pensado nisso, mas achei que seria um pouco de gambiarra. Meu conceito era que o ManagedBean fosse apenas para manipular os dados de post e leitura de conteúdo que vinha do banco.
Na verdade então acaba sendo um pouco do mesmo conceito do .net…
Mais uma vez obrigado!