modelo de atualização em fase de aplicação invoke - JSF
-
12-09-2019 - |
Pergunta
na minha aplicação JSF eu preciso atualizar componente ui durante a fase de aplicação de invocação. Isso pode ser feito? Aqui está o código que eu tenho produzido até agora:
public void resetDataScroller(ActionEvent actionEvent) {
final FacesContext ctx = FacesContext.getCurrentInstance();
ctx.getViewRoot().invokeOnComponent(ctx, "paginator_and_table:scroll_1", new ContextCallback() {
public void invokeContextCallback(FacesContext facesContext, UIComponent uiComponent) {
HtmlDatascroller htmlDatascroller = (HtmlDatascroller) uiComponent;
htmlDatascroller.setPage(1);
htmlDatascroller.setValue(1);
}
});
}
Esta ação ouvinte olha para cima da página e valor de componentes e conjuntos dataScroller a 1. Infelizmente ele não parecem trabalhar em tudo, porque prestados dataScroller tem diferentes página de 1.
Estou faltando alguma coisa?
Solução
Eu imagino que o seu resetDataScroller
um método chamado por um atributo actionListener
de um botão de comando / link na sua página?
Eu realmente não entendo o que você está tentando fazer ... Você só precisa escrever esse código? :
public void resetDataScroller(ActionEvent evt) {
final FacesContext ctx = FacesContext.getCurrentInstance();
HtmlDatascroller htmlDatascroller = (HtmlDatascroller) ctx.getViewRoot().findComponent("paginator_and_table:scroll_1");
htmlDatascroller.setPage(1);
htmlDatascroller.setValue(1);
}
Se você alterar essas propriedades do HtmlDatascroller durante esta fase, eles serão usados ??por JSF durante a última fase (a fase Render Response
) para gerar o código HTML ...