【发布时间】: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
我正在使用 JSF 2.0 + PrimeFaces 2.2.1 开发一个网络应用程序 现在我认为 PrimeFaces 3.x 已经足够稳定了。 (3.1) 我可以替换库(PrimeFaces jar 文件)并继续开发吗?我知道 PrimeFaces 3.1 中重新发明了一些功能。 此更改会对我的应用造成任何问题吗?
【问题讨论】:
标签: jsf-2 primefaces
您可以在 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。
【讨论】: