在facelets ui:composition
中渲染jstl标签时遇到问题我当前的xmlns导入是:
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
部署时,将文本呈现为
<c:forEach> ...
在html输出中。
我错过了依赖吗?导入不正确吗?甚至可以在facelets中使用jstl标签吗?
非常感谢!
答案 0 :(得分:1)
给定的XML名称空间(注意:不是“xmlns imports”)对于JSF 2.x是正确的。但是,在JSF 1.x项目中独立使用的Facelets 1.x中,JSTL的XML命名空间不同,它不应包含/jsp
路径。
xmlns:c="http://java.sun.com/jstl/core"
但是如果你实际上已经在使用JSF 2.x(在将来的JSF 2.x问题中请提及并相应标记),那么你可能正在使用一个不包含JSTL的servletcontainer,例如Apache Tomcat的。您需要单独下载JSTL并将其放在/WEB-INF/lib
文件夹中。在这种情况下,xmlns:c="http://java.sun.com/jsp/jstl/core"
应该有效。
不相关到具体问题,在Facelets中使用JSTL绝对是可能的。您应该只确保您真正了解JSF中JSTL等标记处理程序的生命周期。另请参阅JSTL in JSF2 Facelets... makes sense?您也可以使用Facelets自己的<ui:repeat>
代码而不是<c:forEach>
。