将Java Web项目从PrimeFaces 3.4迁移到PrimeFaces 5.2

gag*_*aga 1 migration jsf primefaces

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

Kik*_*iki 9

有一个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"选项.

  • columns的disabledSelection选项,移动到DataTable,更改是向后兼容的,并且在将来的版本中将从列中删除该选项.

  • 自动完成:删除了进程/ global/onstart/oncomplete以支持" p:ajax event="query"process/global/onstart/oncomplete"

一般变化

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

4.0到5.0组件更改

  • 不推荐使用图表组件,而使用新的Chart API支持新的通用图表组件.旧图表组件仍受支持,但将在以后的版本中删除.

  • 不推荐使用工具栏组,而是使用工具栏的左右方面.(从5.0.1开始还原,将支持两个方面和工具栏组)

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

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

  • LazyDataModel的filters参数更改为Map而不是Map作为新的Advanced
    Filtering Feature 的要求.

  • 对话: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中已删除.这些属性仅适用于过去的值表达式.

  • 已删除已弃用的图表组件.