Taglib processando JSTL

1 resposta
legionarioba

Olá pessoALL,

Estou com um pequeno problema na construção de taglibs. Ao criar uma taglib(que extende SimpleTagSupport), eu posso especificar se meus atributos podem receber e processar uma EL como valor, através do elemento rtexprvalue na TLD do componente, mas existe uma forma de fazer minha tag processar uma expressão JSTL? Algo assim:

<abc:command type="button" value="<fmt:message key='LIMPAR' bundle='${msg}'/>" />

Da forma acima, quando o componente gerar o input , apenas o conteúdo de $msg é convertido. Para resolver isso estou tendo que armengar um pouco as coisas assim:

<c:set var="LIMPAR"><fmt:message key='LIMPAR' bundle='${msg}'/></c:set>
<abc:command type="button" value="${LIMPAR}" />

Existe uma forma de eu poder trabalhar com JSTL, sem ter que usar o código acima?

Att,

Silvio Luiz

1 Resposta

R

se você usar o atributo var, vc pode exportar o messagem pra uma variavel e usar:

<fmt:message key=‘LIMPAR’ bundle=’${msg}’ var=“LIMPAR”/>
<abc:command type=“button” value="${LIMPAR}" />

existe uma outra forma interessante de usar, se você tiver um login na sua aplicação, ao o usuario logar você pode jogar na sessão dele um mapa q acessa o bundle, cria uma classe q implementa a interface Map, e no metodo get pega o bundle correto assim, seu código ficaria parecido com jsf

&lt;abc:command type="button" value="${res['LIMPAR']}" /&gt;

ha outra maneira, q é vc criar um atributo valueKey na sua tag
e dentro dela recuperar do resource correto do bundle:

&lt;abc:command type="button" valueKey="LIMPAR" /&gt;

ficam as sugestões

Criado 25 de setembro de 2006
Ultima resposta 25 de set. de 2006
Respostas 1
Participantes 2