Pergunta

Estou desenvolvendo um componente personalizado usando JSF 1.2. Minha classe tag estende UIComponentELTag e tem variáveis ??do tipo ValueExpression. Os valores para estes estão a ficar definida a partir dos atributos correspondentes do tag (utilizando a função setProperties), por exemplo

<sr:show name="#{backingBean.name}" ...> #{backingBean.mainContent}</sr:show>

Eu estou preso ao tentar obter o bodyContent da marca como um valor vinculativo. Este é o quão longe eu ter procedido:

public int doAfterBody() throws JspException{
    if(bodyContent!=null) {
        String body = bodyContent.getString();
        FacesContext context = FacesContext.getCurrentInstance();
        UIComponent component = super.findComponent(context);
        MyComp myComp= (MyComp) component;
        myComp.setMain(body);
    }
    bodyContent.clearBody();
    return SKIP_BODY;
}

Se o corpo da tag não contém valor vinculativo, este código funciona bem. Quero verificar se o corpo tem valor vinculativo e, em seguida, definir o valor do feijão.

No JSF 1.1, eu verifiquei isso usando isValueReference(body). Como posso conseguir isso em JSF 1.2? Eu não poderia encontrar qualquer exemplos de obter o conteúdo do corpo como obrigatória valor em qualquer lugar.

Foi útil?

Solução

Por que não simplesmente adicionar outra variável, por exemplo, "Conteúdo" e ligam-se que, para o corpo do texto você deseja processar?

<sr:show name="#{backingBean.name}" text="#{backingBean.mainContent}" />

Ou simplesmente:

<sr:show bean="#{backingBean} />

e tornar todo o lote.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top