我在JSP 2.1上使用JSF 2.0。是否有可能在JSP文件中使用Facelets的<ui:repeat>
标记?
我已将JSP中的Facelets标记库导入为
<%@ taglib uri="http://java.sun.com/jsf/facelets" prefix="ui"%>
但它没有识别ui.taglib.xml
附带的taglib jsf-impl.jar
并在渲染时间中出错
org.apache.jasper.JasperException:无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:http://java.sun.com/jsf/facelets
但是这个<ui:repeat>
标记在我的Facelets文件中运行正常。
答案 0 :(得分:6)
那是不可能的。 Facelets是一种独特的视图技术,技术上是JSP的后继者。您不能混合它们,也不能在JSP文件中使用Facelets标记。对于JSF2,强烈建议使用Facelets而不是JSP,因为它远远优于JSP。
对于JSP,您最好的选择是使用JSTL <c:forEach>
。它具有类似的语法,仅使用items
属性而不是value
。或者如果它需要是<ui:repeat>
而不是构建时标记的渲染时标记,请考虑查看Tomahawk's <t:dataList>
。