在JSF中解析XML

时间:2009-10-28 21:38:25

标签: xml jsf jstl

有人能告诉我如何解析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)?或者我的代码中有错误吗?

1 个答案:

答案 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核心。