Как игнорировать неверный XML в JSF? - PullRequest
1 голос
/ 04 октября 2010

Можно ли игнорировать неверный xml-синтаксис в jsf-файлах?

Я пишу свои собственные компоненты jsf 2 и хочу создать динамическую таблицу, поэтому я хочу сделать tr- и td-теги условными. Я пробовал <h:panelGroup rendered="#{someCondition}"><tr></h:panelGroup> (то же самое с </tr>) и <c:if test="#{someCondition}"><tr></c:if> (то же самое с </tr>), хотя плохо смешивать jstl с jsf.

Я получаю javax.faces.view.facelets.FaceletException: Error Parsing [...] The element type "tr" must be terminated by the matching end-tag "</tr>".

Кто-нибудь знает, как игнорировать неправильный xml-код или как решить эту проблему любым другим способом?

Ответы [ 2 ]

2 голосов
/ 15 сентября 2011

это грязный хак, но используйте:

<h:outputText escape="false" value="#{bean.row}" />

на вашей странице и

public String getRow() {
    return condition ? "" : "<tr>";
}

в вашем Бобе. То же самое с </tr>.

0 голосов
/ 03 ноября 2010

Нет способа сделать это. Вы можете установить DISABLE_FACELET_JSF_VIEWHANDLER - true в web.xml и проблема исчезнет, ​​но, с другой стороны, понизьте версию jsf до 1.2.

...