是否可以忽略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如何以其他任何方式解决这个问题?
答案 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。