【问题标题】:What needs to be change when migrationg from jsf 1.x to jsf 2.x , richafaces 3.x to 4.x从 jsf 1.x 迁移到 jsf 2.x ,richfaces 3.x 到 4.x 需要改变什么
【发布时间】:2014-03-14 10:49:53
【问题描述】:

我是 jsf 的新手。 我正在从事迁移项目。 在这我需要从 jsf1.2 迁移到 2.1 还有富人..

一般来说我需要改变什么? 我还有一项要求必须在 faces-config.xml 中明确引用导航规则? 如何在 faces-config.xml 中编写这些规则?

提前致谢

【问题讨论】:

标签: jsf jsf-2 migration richfaces


【解决方案1】:

首先你应该明白,从JSF 1.x迁移到jsf 2.x是很痛苦的,但是从Richfaces 3迁移到Richfaces 4更痛苦。

JSF 1.x 到 2.x 升级可以独立于 Richface 升级完成。所以我建议您首先更新 JSF 并检查一切是否正常,然后再尝试更新 Richfaces。查看 this 关于 JSF 迁移的问题以获取更多信息。或者只是谷歌它。有很多关于它的信息。

Richfaces 3 到 4 的迁移非常痛苦,因为 JSF 2 引入了它自己的 ajax,您需要更改项目中的很多属性。但最大的痛苦是 Richfaces 3 的工作比 Richfaces 4 稳定得多。Richfaces 4 有很多 bug。我可以列出我遇到的一些错误以及一些解决方案。

  1. rich:autocomplete 非常有问题。不确定它是否已经修复 但是当我尝试使用它时,它不适用于 Spring 复合视图(<ui:include 页面)。在我提交错误报告之后 他们似乎在那里做某事,但不确定现在是否可行。一世 没有检查。 https://issues.jboss.org/browse/RF-11469

    我建议你用简单的 jQuery UI 替换这个组件 在后端带有一些 spring mvc 控制器的自动完成组件。

  2. rich:tabPanel 非常有问题。单独的选项卡没有动作 属性了。这破坏了初始化选项卡的功能 使用 ajax 打开选项卡时的内容。即时属性也 不适用于标签。这是 jboss jira 上的问题:https://issues.jboss.org/browse/RF-11417 workaround 真的很愚蠢。

    我刚刚研究了richfaces的源代码并使其工作。

  3. 异常处理非常有问题。似乎例外只是 在 ajax 请求的 Richfaces 源中的许多地方被吞下,所以你 无法以正确的方式处理它们。

    我再次进入 Richfaces 代码并通过 抛出异常。

  4. rich:fileUpload 组件可以为你工作,但不能为你工作。你 在某些情况下可以得到request prolog can not be read 异常 案例(这是我得到的)。这与新的 将多部分请求读入的应用服务器功能 请求.getParts()。 Richfaces 不处理这种情况 错误输出,因为多部分请求的输入流已被读取 完全。

    我再次查看 Richfaces 的源代码并添加了 catch for request.getParts 不为空时的情况。我什至创建了一个 Jboss 上的问题,但人们说这适用于新的 Jboss 服务器 为什么这不是问题(我使用tomcat)。 https://issues.jboss.org/browse/RF-13061 问题已解决,但它在 tomcat 上不起作用。

  5. 客户端有很多问题。默认情况下,多个表单不会 像在 jsf 1.2 和 richfaces 3 中一样处理您的页面 因为 viewstate id 没有在需要的时间和地点更新 是。

    要解决此问题,您需要添加额外的脚本。它被描述 在this问题的答案中

  6. 同样在客户端你应该知道,如果在响应 任何ajax请求你都会有一些js会失败 停止工作。您不能在 xhtml 中出现 js 错误。这页纸 将完全冻结。还有CDATA标签也很棘手 xhtml 页面。他们也可能失败。

  7. Richfaces 消息的工作方式有时会出现,并且 有时不是。它们是 ajax 渲染的,但似乎它们可以破坏 这页纸。 Ajax reposnse 可以有一个应该更新的更新 未在页面上呈现的消息以及何时找不到 此消息在您的 html 中它将停止呈现所有内容 留下来更新。因此,您的链接和按钮将不会重新呈现 在某些情况下什么都可以。

    在这里评估limitRenderattribute 很有帮助。

这是一个简短的列表。可能还有很多需要注意的地方,更新后你会看到 =)) Richfaces 4 仍然有问题。

【讨论】:

  • 有趣的回复,然而,即使你对 Richfaces 的某些方面说 it's very buggy,你也完全忘记了包含证明你在说什么的参考。
  • 参考文献?任何人都可以下载并查看 Richfaces 和列出的问题。如果其中一些得到修复,我会非常高兴,但我认为它们中的大多数仍然存在,因为 Richfaces 团队正在开发第 5 版。我希望它不会有所有这些问题。
  • 您谈到了您向richfaces 团队提交的一些错误报告,但您没有提供指向它的链接。你说你不知道是不是已经修好了。提供参考以便 OP 和未来的观众能够检查其状态不是更好吗?想想一年后看到这篇文章的人。这类事情总是欢迎链接。
  • 一年后我确认以这样一个人的身份查看这篇文章。请提供请求的链接,和/或您的修复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-07-07
  • 1970-01-01
  • 2018-08-10
  • 2017-03-11
  • 1970-01-01
  • 2023-03-29
  • 1970-01-01
相关资源
最近更新 更多