Я разрабатываю пользовательский компонент с использованием JSF 1.2. Мой класс тегов расширяется UIComponentELTag
и имеет переменные типа ValueExpression
. Значения для них устанавливаются из соответствующих атрибутов тега (с использованием функции setProperties
), например
<sr:show name="#{backingBean.name}" ...> #{backingBean.mainContent}</sr:show>
Я застреваю, когда пытаюсь получить bodyContent тега в качестве значения привязки.
Вот как далеко я продвинулся:
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;
}
Если тело тега не содержит значения привязки, этот код работает нормально. Я хочу проверить, имеет ли тело значение привязки, а затем установить значение из компонента.
В JSF 1.1 я проверил это, используя isValueReference(body)
. Как мне добиться этого в JSF 1.2? Я не смог найти ни одного примера получения содержимого тела в качестве значения привязки.