JSF 1.2 Custom Component - Содержимое тела из базового компонента - PullRequest
2 голосов
/ 21 марта 2009

Я разрабатываю пользовательский компонент с использованием 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? Я не смог найти ни одного примера получения содержимого тела в качестве значения привязки.

1 Ответ

1 голос
/ 21 марта 2009

Почему бы просто не добавить еще одну переменную, например "содержание" и связать это с основным текстом, который вы хотите визуализировать?

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

Или просто:

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

и рендеринг всего лота.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...