Faça referência ao evento Oncomplete por uma função de script Java externa
-
27-09-2019 - |
Pergunta
Quero fazer alguma lógica no atributo onComplete do A4J: CommandButton, mas minha lógica é muito complicada, posso fazer referência ao código usando uma funções de script Java localizadas em um arquivo Java-Script externo para ter uma melhor manutenção? Descobri que ele tem erro porque o arquivo JavaScript não consegue entender a expressão do EL.
Por exemplo, originalmente eu tenho,
<a4j:commandButton id="btn1" action="#{MBena1.action1}" oncomplete="if( {MBena1.variable1}){Richfaces.showModalPanel('modelPanel1');};if (......) then ">
Eu quero fazer algo assim:
<a4j:commandButton action="#{MBena1.action1}" oncomplete="Btn1OnComplete();">
O código é colocado dentro da função de script java btn1onComplete (), localizada em um arquivo Java-Script externo.
Obrigado
Solução
Basta passar o valor do feijão como um argumento:
oncomplete="Btn1OncOmplete(#{mBean1.value});"
E então, na função JavaScript externa, você não precisa escrever nenhum código relacionado ao JSF.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow