gpt4 book ai didi

jsf - 将 Web 项目从 JSF 1.1 更新到 JSF 2.x 的最佳策略是什么?

转载 作者:行者123 更新时间:2023-12-01 22:55:43 28 4
gpt4 key购买 nike

我们有一个大型且相当古老的项目,该项目使用 JSF 1.1(特别是 MyFaces 实现)和 JSP 作为 View 技术。现在我们想要升级使用的 JSF 版本,查看正在使用的技术和标签库。 Migrating from JSF 1.2 to JSF 2.0给出了我们可能遇到的困境的一些想法。

我是 JSF 的新手,但我知道只有 JSF 2.x 之后才支持 Facelets,因此我们需要先更新 JSF 版本,然后才能开始用 Facelets 替换 JSP。

目前,我们还使用一些旧的标签库,如 Ajax4JSF 和旧版本的 RichFaces,即 IIRC,它基于 Ajax4JSF,其中一个主要功能是向 JSF 提供 Ajax 功能和支持 Ajax 的组件。如果我没看错,JSF 2.x 本身就支持 Ajax 功能,因此不再需要像 Ajax2JSF 这样的标签库了。

由于 RichFaces 的“生命周期”似乎已于去年结束(根据 wikipedia ),这似乎也是一个用 PrimeFaces 替换 RichFaces 的好机会,PrimeFaces 似乎仍在积极开发中并获得经常推荐。不过,我不确定这种替换是否有意义,或者这两个组件库是否提供相似的组件,或者它们的目标是提供两组完全不同的组件,这种替换从一开始就不是个好主意。

不管怎样,我想知道这 3 个步骤的顺序最合理。由于 Facelets 需要 JSF 2.x,而现代标签库的当前版本似乎也只适用于新的 JSF 版本,我假设必须首先更新 JSF,但关于用 Facelets 替换 JSP 和用 PrimeFaces 替换 RichFaces/Ajax4JSF,在这两个应该按什么顺序做?

我的猜测是当前的 taglib 可能也依赖于 Facelets,所以也许这个顺序最有意义?

  1. JSF 1.1 => JSF 2.x
  2. JSP => Facelets
  3. RichFaces => PrimeFaces

最佳答案

回答我自己的问题:在进行此升级一段时间并遇到一些死胡同之后,对我来说,以下步骤顺序是最好的:

  1. 升级 JSF 实现(在我的例子中:从 MyFaces 1.1 到 MyFaces 2.2.12)
  2. 用 Facelets 替换 JSP 文件并注释掉所有来自不受支持的标签库的标签(一些功能将在迁移完成之前丢失,但这样我只需要迁移这些标签库一次 - 以便在 Facelets 中使用它们 - 并且不是两次(一次在 JSP 中使用 JSF 2,然后在 Facelets 中使用))
  3. 替换和更新不受支持和过时的标签库

关于jsf - 将 Web 项目从 JSF 1.1 更新到 JSF 2.x 的最佳策略是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43091931/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com