如何在JSF中忽略无效的XML?

时间:2010-10-04 12:47:43

标签: xml jsf-2 custom-component

是否可以忽略jsf文件中的无效xml语法?

我正在编写自己的组件是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 oder如何以其他任何方式解决这个问题?

2 个答案:

答案 0 :(得分:2)

这是一个肮脏的黑客,但使用:

<h:outputText escape="false" value="#{bean.row}" />
在您的网页中

public String getRow() {
    return condition ? "" : "<tr>";
}
在你的Bean中

。与</tr>相同。

答案 1 :(得分:0)

没有办法做到这一点。您可以在web.xml中设置DISABLE_FACELET_JSF_VIEWHANDLER - true并且问题会消失,但另一方面,这会将jsf版本降级为1.2。