【问题标题】:Is PrimceFaces 3.1 Backward Compatible to 2.x versionPrimceFaces 3.1 是否向后兼容 2.x 版本
【发布时间】:2012-02-07 13:22:08
【问题描述】:

我正在使用 JSF 2.0 + PrimeFaces 2.2.1 开发一个网络应用程序 现在我认为 PrimeFaces 3.x 已经足够稳定了。 (3.1) 我可以替换库(PrimeFaces jar 文件)并继续开发吗?我知道 PrimeFaces 3.1 中重新发明了一些功能。 此更改会对我的应用造成任何问题吗?

【问题讨论】:

标签: jsf-2 primefaces


【解决方案1】:

您可以在 PrimeFaces wiki 中找到 PrimeFaces 2.2 --> 3.0 的主要变化。以下是相关性摘录:

一般变化

Taglib 命名空间更改为;

http://primefaces.prime.com.tr/ui -> http://primefaces.org/ui
http://primefaces.prime.com.tr/mobile -> http://primefaces.org/mobile

请注意,此更改适用于 3.0.M4 及更高版本。

组件事件现在被解耦并实现为 ajax 行为以提高灵活性。在这里阅读更多。常用的 *Listener 和 *Update 属性现已移除,例如评级组件;

2.x;

<p:rating value="#{ratingController.ratingValue}" rateListener="#{ratingController.handleRate}" update="messages"/>

3.x;

<p:rating value="#{ratingController.ratingValue}">
    <p:ajax event="rate" listener="#{ratingController.handleRate}" update="messages" />
</p:rating>

用户指南和 Taglib 文档(IDE 完成)将提供组件的所有可用事件。

  • RequestContext 现在允许从支持 bean 执行 javascript(例如,决定让对话框保持打开或隐藏),在 2.x 中,在 oncomplete 等回调上的条件 javascript 执行是通过回调参数实现的,execute("script here")与回调参数相比,它很容易实现相同的功能。请注意,回调参数仍然受支持,将来也会支持,因为它们也在 PrimeFaces 内部使用。
  • 标签/属性文档在 facelet taglib 中再次可用,以利用通过 IDE 代码完成的快速文档。
  • Aristo 将 Sam 替换为内置主题,sam 作为可下载主题在主题库中提供。

您可以在 PrimeFaces blog 中找到 PrimeFaces 3.0 --> 3.1 的主要变化。以下是相关性摘录:

向后兼容性

关于向后兼容 3.0 有两点需要注意;

  • 组件引用现在与 JSF Spec 保持一致,如果 PrimeFaces 找不到组件,它将抛出异常。自 PrimeFaces 2.2 以来,我们一直在记录一条信息消息,指出无法找到组件并回退到客户端 ID。如果您从 2.2 开始没有忽略这些消息并修复您的代码,则不会有问题。如果没有,您需要更新与 findComponent specification 相关的组件引用。
  • primefaces.THEME_FORMS 设置被移除以支持纯 css,如果您需要重置输入组件上的主题感知样式,请添加重置 css。

【讨论】:

    猜你喜欢
    • 2021-07-22
    • 1970-01-01
    • 2020-11-15
    • 2021-06-03
    • 2016-03-30
    • 2019-11-14
    • 2017-12-08
    • 2021-03-02
    • 1970-01-01
    相关资源
    最近更新 更多