JSF 1.2 componente personalizado - conteúdo do corpo De Fazendo feijão
-
21-08-2019 - |
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.
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.