我正在使用JSTL来解析XML文件,以便我可以在网页上显示项目。我使用JSTL中的xml标签来帮助解决这个问题,但发现机器之间存在奇怪的不一致。
<x:set var="test1" select="$extraSideNavLinks/sideNavLinks/@perm"/>
<x:set var="test2" select="string($extraSideNavLinks/sideNavLinks/@perm)"/>
TEST1: ${test1}
TEST2: ${test2}
在我的开发机器上,我得到以下内容(这是我的期望):
在另一台开发服务器上,我得到了一个不同的答案:
由于某种原因,string
xslt函数没有像我期望的那样从XML属性中选择文本。
据我所知,Jetty版本,java版本和操作系统版本在两台机器上是相同的(并且XML文件是相同的),但是string()
函数不能在其中一个上运行机器。有没有人有类似的问题,或者有关如何调查差异发生原因的建议?
答案 0 :(得分:0)
如果其他人在将来遇到这个问题,我会抛弃我的解决方法。
无论我做了什么,我都无法弄清楚为什么有些机器只是拒绝识别/实现string()xpath函数,所以我通过将代码更改为以下内容解决了这个问题:
<c:set var="test2">
<x:out select="$extraSideNavLinks/sideNavLinks/@perm"/>
</c:set>
这在所有机器上都能保持一致。