【问题标题】:To migrate java web project from PrimeFaces 3.4 to PrimeFaces 5.2将 java web 项目从 PrimeFaces 3.4 迁移到 PrimeFaces 5.2
【发布时间】:2015-09-21 06:49:03
【问题描述】:

我没有很多使用 PrimeFaces 的工作经验。我必须将 java web PrimeFaces 项目从 3.4 迁移到 5.2。虽然我在互联网上搜索了它,但我的情况没有合适的解决方案。如果您对此类问题有任何经验或听说过,请告诉我或将链接发送给我。基本上我想要这样做的方式。我已经知道应该更改女巫组件。除了更换罐子,还有什么办法吗?我已经尝试用 PrimeFaces 5.2 jar 替换 PrimeFaces 3.4。但它不允许我更换罐子。我也必须更改代码吗?请我想要迁移步骤。

【问题讨论】:

    标签: jsf primefaces migration


    【解决方案1】:

    有一个 PrimeFaces 迁移指南。从 3.5 到 5.2 需要一步一步来。

    以下是适合您情况的完整迁移指南:

    复制自MigrationGuide

    3.4 到 3.5 组件更改

    • DateSelectEvent、ScheduleDateSelectEvent、ScheduleEntrySelectEvents 类已删除,请改用 SelectEvent。
    • SortEvent 和 ColumnResizeEvent 中的列类替换为 UIColumn 以支持动态列。
    • 重新实现了可滚动和可调整大小的 DataTable-TreeTable 功能。 DataTable 和 TreeTable 不再呈现具有 ui-dt-c 和 ui-tt-c 类的单元格容器 div 元素。
    • Sheet 组件被删除,因为它复制了 DataTable 的功能。 Galleria 重新实现。

    一般变化

    • IE7 支持已逐步停止。

    3.5 到 4.0 组件更改

    • MenuModel 被重写,不向后兼容旧版本。

    • (例如直接从 3.x 迁移到 5.x 时跳过此部分,在 5.0 中再次“还原”) DataTable sortBy 和 filterBy 表达式需要纯属性名称,意思是“名称”而不是“#{person.name}”。 对于像这样的表达式,保持向后兼容性 "#{var.property}" 但不适用于复杂的表达式。

    • 重新实现 FileUpload 并且向后兼容,但删除了“showButtons”选项。

    • 列的disabledSelection 选项,已移至DataTable,更改向后兼容,并且该选项将在未来版本中从列中删除。

    • AutoComplete:删除了 process/global/onstart/oncomplete 以支持“p:ajax event="query” process/global/onstart/oncomplete”

    一般变化

    • 访问小部件的首选方式是通过PF('widgetVarName').show(),旧方式(例如widgetVarName.show()) 仍然受支持,并将在未来的版本中删除。

    4.0 到 5.0 组件更改

    • 图表组件已被弃用,取而代之的是具有新图表 API 的新通用图表组件。旧图表组件仍受支持,但将在未来版本中删除。

    • ToolbarGroup 已弃用,请改用工具栏的左右侧面。 (从 5.0.1 开始恢复,将同时支持构面和工具栏组)

    • 不推荐在 sortBy-filterBy 属性中定义字段,而是使用值表达式。例如sortBy="#{user.name}" 而不是 sortBy="name"

    • 从现在开始,DataTable 冻结行功能采用整数值而不是集合。该值定义了从一开始就应该冻结多少行。

    • LazyDataModel 的过滤器参数更改为 Map 而不是 Map 作为新 Advanced 的要求
      过滤功能。

    • Dialog: appendToBody 已被删除,取而代之的是 appendTo="@(body)" 以获得更大的灵活性

    • 水印:forElement 已被删除以支持for="@(yourSelector)"

    • 小部件必须通过“PF”引用。例如PF('widgetVarName').show() 而不是 widgetVarName.show();

    • DataTable 布局更改为 table-layout:fixed。

    • PrimeFaces Push 已重新实现,PushContext 已弃用,请改用 EventBus 和新的 Push API。

    • ScrollPanel 已重新实现,用法向后兼容,但 UI 略有不同。

    5.0 到 5.1

    • 对 filterBy-sortBy 表达式中的文字文本的支持在 5.0 中被弃用,并在 5.1 中被删除。这些属性只适用于过去的值表达式。

    • 已删除不推荐使用的图表组件。

    【讨论】:

    • 谢谢。为指导。除了更换罐子外,我还有什么需要改变的。当我试图更换罐子时,它不允许这样做。我也必须更改一些代码吗????
    • 是的,您需要根据我的帖子中的指南更改 .jar 文件并更改代码。
    • 当我替换 jar 文件时,它显示消息“问题:该项目使用名为“primefaces-3.4.RC1.jar”的文件/文件夹,但找不到此文件/文件夹。解决方案:单击解决并找到丢失的文件/文件夹。”我正在工作的项目女巫是巨大的。它有超过 50 个 xhtml 文件,所以可以肯定的是。这个消息是正常的。或者我做错了什么请告诉我....
    • 您需要删除旧的依赖项(对于 primefaces 3.4)并添加新的依赖项(对于 primefaces 5.2),错误应该会消失。
    【解决方案2】:

    您不能直接从 3.4 迁移到 5.2。 在MigrationGuide 中给出了一些迁移步骤。也许您可以首先从 3.4 迁移到 4.0,DataTable、DateSelectEvent 等有一些组件更改。然后您可以继续进行 4.0 到 5.0 的迁移,这涉及 LazyDataModel 和一些组件的更多更改。请仔细考虑上面为 MigrationGuide 提供的链接。

    【讨论】:

    • 可以直接迁移。您只需一次考虑所有迁移步骤。在 3.5 和 4 之间有 aven 步骤,然后是 4 和 5,它们是彼此相反的。所以浪费时间
    猜你喜欢
    • 1970-01-01
    • 2011-10-13
    • 2012-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-23
    • 1970-01-01
    相关资源
    最近更新 更多