在JSF中解析XML
问题描述:
有人可以告诉我如何解析JSF页面内的XML文件吗?在JSF中解析XML
事情是我有XML文件,并希望从它的一些数据到我的JSF页面。我首先想到的是包括JSTL核心和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:输出。
因此,在JSF页面中是否有其他解析XML的方法(不包括将XML作为来自特定的我的书面模块的对象发送)?或者在我的代码中有任何错误?
答
1.不要试图混合使用JSTL标签和JSF标签;他们是粉笔和奶酪。
2. JSF是一个MVP框架,所以你要通过试图在视图中定义数据源来反对谷物。
3.要经由outputText
控制发射数据,其value
属性绑定到模型(例如一个managed bean)。
这可能是可以做到这样的事情:
<!-- other code elided -->
<x:set var="x" select="$simple/child" />
<h:outputText value="#{x}" />
...但是,在一般情况下,看到点和。
只是一个建议:确保你已经添加了http://java.sun.com/jsp/jstl/core
命名空间的页面使用JSTL的核心。
1.我会努力的。实际上,我想通过XML定义我的页面结构。我只是喜欢它提供的抽象级别。我发布了一个问题,应该涵盖这个主题:http://*.com/questions/1641886/xml-as-structure-jsf-as-representation-is-it-a-nice-idea。 3.不幸的是,这不起作用。假设我在使用JSF时应该忘记XPath。我会想念它 – emanemos 2009-10-30 09:07:08
评论你的评论,emanemos:你不**需要*忘记* XPath。您只需*将所需的逻辑移动到正确的位置,例如一个servlet或一个托管bean。 – BalusC 2009-12-08 13:01:56