有人能告诉我如何解析JSF页面中的XML文件吗?
我得到了XML文件,并希望将一些数据放入我的JSF页面。我的第一个想法是包括JSTL Core和XML库,并做这样的事情:
<c:import var="some-info-doc" src="some-info.xml" />
<x:parse var="some-info-xml" xml="some-info-doc" />
<h:outputText>
<x:out select="$some-info-xml/a-piece-of-data" />
</h:outputText>
但是,此代码导致错误。 c:未确认进口。所以,我决定使用本地XML:
<x:parse var="simple">
<child>basic</child>
</x:parse>
<h:outputText>
<x:out select="$simple/child" />
</h:outputText>
这导致在结果页面中打印子标记。输出来自x:parse标签的,而不是h:output 。
那么,在JSF页面中解析XML是否有任何替代方法(不包括从某个由我编写的模块中作为对象发送的XML)?或者我的代码中有错误吗?
答案 0 :(得分:1)
1。不要尝试混合使用JSTL标记和JSF标记;他们是粉笔和奶酪。
2。 JSF是一个MVP框架,因此您可以通过尝试在视图中定义数据源来反对这一点。
3. 要通过outputText
控件发出数据,请将其value
属性绑定到模型(例如托管bean)。
可能会做这样的事情:
<!-- other code elided -->
<x:set var="x" select="$simple/child" />
<h:outputText value="#{x}" />
...但是,一般来说,请看 1 和 2 。
只是一个建议:确保您已将http://java.sun.com/jsp/jstl/core
命名空间添加到页面以使用JSTL核心。