【发布时间】:2011-06-22 04:44:17
【问题描述】:
我知道在 JSF 2 中,facelets 是首选的视图声明语言。
JSP 到 jsf 是否已弃用?
无论如何,我需要创建一个特殊的布局,所以我不能使用 Datatable。相反,我有 6 个 div 用作我删除文章集合的列。 我的问题是我有一个 JSF 复合组件,它注入了一个 Collection 答:
List<Article>
对象。
然后组件需要将集合的大小分成相等的每列。然后为每个设置适当的偏移量和大小
<ui:repeat></ui:repeat>
所以我最终得到了这个
<!-- INTERFACE -->
<cc:interface>
<cc:attribute name="featuredArticles" required="true" type="java.util.List;" />
</cc:interface>
<!-- IMPLEMENTATION -->
<cc:implementation>
<div class="col">
<ui:repeat value="#{cc.attrs.featuredArticles}" var="art" offset="??" size="??">
<mycomps:article art="#{art}" />
</ui:repeat>
</div>
<div class="col">
<ui:repeat value="#{cc.attrs.featuredArticles}" var="art" offset="??" size="??">
<mycomps:article art="#{art}" />
</ui:repeat>
</div>
<div class="col">
<ui:repeat value="#{cc.attrs.featuredArticles}" var="art" offset="??" size="??">
<mycomps:article art="#{art}" />
</ui:repeat>
</div>
<div class="col">
...same here...
</div>
<div class="col">
...same here...
</div>
</cc:implementation>
那么我如何计算这些偏移量和大小,以便每列迭代集合的一部分?或者也许有更好的方法?
【问题讨论】:
-
facelet 技术比 JSP for JSF 效果更好。
-
要回答您问题的第一部分,在 JSF 2.0 中,已弃用 JSP。来自维基百科:“最初,Facelets 可作为 JSF 1.1 和 JSF 1.2 的单独替代视图声明语言使用,它们都使用 JSP 作为默认视图声明语言。从 JSF 2.0 开始,JSF 专家组将 Facelets 推广为默认的视图声明语言。 JSP 已被弃用为遗留的回退 [2] [3]'。
-
这是否意味着在某些时候 jsp 将被完全弃用?它声明它已被弃用为 jsf 的默认 VDL,但如果它被 facelets 替换,是否应该完全弃用它?
-
如果“完全弃用”是指“已移除”,那么不,这永远不会发生,至少从标准 API 中弃用部分的经验来看。它可能会得到更少/更慢的错误修复、更少的文档,并且可能不会扩展以支持新功能。
标签: java jsf jsf-2 composite-component