我们要将JSF 1.2项目迁移到JSF 2.我们已经使用facelets(而不是JSP)作为我们的演示技术。
我们正在使用大量的JSTL - > "xmlns:c="http://java.sun.com/jstl/core"
我们正在使用大量<c:if>
语句。我知道JSF2带来rendered
属性,它也应该评估布尔表达式。
我是否应该为新的渲染属性重写内容,或者可以继续在JSF2中使用JSTL?
答案 0 :(得分:1)
JSTL在JSF2中的工作方式与在JSF1中的工作方式相同。 rendered
属性不是特定于JSF2的,它一直在JSF中存在。如果这些JSTL标记始终在JSF 1.2应用程序中按预期工作,那么您不一定需要为JSF2迁移它们。您只需要更改taglib uri以包含/jsp
(!!)路径。
xmlns:c="http://java.sun.com/jsp/jstl/core"
但是,只要有可能,建议使用rendered
属性,而不是依赖于JSTL标记。确定您是否计划将JSTL标记属性绑定到@ViewScoped
bean。另请参阅Communication in JSF 2.0 - @ViewScoped fails in taghandlers。