sexta-feira, 26 de julho de 2013

Limpar conteúdo de componentes jsf

/**
 * Limpa os dados dos componentes de edição e de seus filhos,
 * recursivamente. Checa se o componente é instância de 
 * EditableValueHolder e 'reinicia' suas propriedades.
 */
public void cleanSubmittedValues(UIComponent component) {
    if (component instanceof EditableValueHolder) {
        EditableValueHolder evh = (EditableValueHolder) component;
            evh.setSubmittedValue(null);
            evh.setValue(null);
            evh.setLocalValueSet(false);
            evh.setValid(true);
        }
        if(component.getChildCount()>0){
            for (UIComponent child : component.getChildren()) {
                cleanSubmittedValues(child);
            }
        }
    }
}

Fonte: https://github.com/rponte/jsf-loja-project/blob/master/src/br/com/triadworks/loja/util/FacesUtils.java#L58

Nenhum comentário:

Postar um comentário