我正在考虑在同一个网络项目中使用Facelets和JSTL。
在整合这些方面有什么问题吗?
答案 0 :(得分:10)
Facelets已克隆一组有限的“旧旧”JSTL标记,并包含在Facelets库中。它们都被描述为here。换句话说:Facelets并不支持所有JSTL标签/功能。
如果您想使用任何原始JSTL标记,但Facelets不提供这些标记,那么您将进入另一个角落寻找解决方案。可以由JSTL sql和xml taglib完成的作业不属于视图,而是属于模型/业务逻辑。 JSF的<f:loadBundle>
和<f:formatXXX>
标记已涵盖JSTL fmt taglib。 JSTL functions taglib可以与自定义EL函数一样好。我在this answer中发布了一个示例。
JSF和原始JSTL库的问题在于它们不像编码所期望的那样同步运行。更重要的是,JSTL首先从上到下运行页面,然后将生成的输出交给JSF进行进一步处理。使用例如<c:forEach>
时,这可能会导致意外结果。
答案 1 :(得分:3)