Jsf RichFaces 3到RichFaces 4迁移
我目前正在做一个项目,我想从版本3.3.3.Final迁移到RichFaces 4。我在想Jsf RichFaces 3到RichFaces 4迁移,jsf,richfaces,Jsf,Richfaces,我目前正在做一个项目,我想从版本3.3.3.Final迁移到RichFaces 4。我在想 在移民之前,我应该考虑、知道或思考什么重大问题吗 (可能是个愚蠢的问题,但是…)你能把richfaces 3和richfaces 4“混合”起来吗 我想切换的一个主要原因是使用richfaces 4 autocomplete,有没有一种方法可以使用richfaces 3这样做,或者迁移是最简单的 我正在使用JSF 在移民之前,我应该考虑、知道或思考什么重大问题吗 他们的建议是遵循他们自己的-这似乎还远
- 在移民之前,我应该考虑、知道或思考什么重大问题吗
- (可能是个愚蠢的问题,但是…)你能把richfaces 3和richfaces 4“混合”起来吗
(可能是个愚蠢的问题,但是…)你能把richfaces 3和richfaces 4“混合”起来吗
不,你不能。它会与自身发生冲突。TLDR:RichFaces在2016年6月迎来了一个值得纪念的生命终结。这是一个管理不善的项目灾难,不应该有更好的结果 这里要注意的是,官方移民指南的完成率不超过30%。作为衡量标准,我在2011年根据迁移指南编写了一个378行的XSLT样式表。然后,我将该项目搁置到2015年6月,根据进一步的调查并使其正常运行,该项目已达到1090条线路。请记住,任何XSLT样式表都有一些开销,378/1090=35% 完成迁移指南中的说明后:
rich:page
和rich:layout.
我将提供一份清单,列出我在本文末尾发现的一些额外的东西
h:outputStylesheet
并尽可能晚地执行此操作,以确保随后生成它
a4j:状态
- 文档在这一点上是模糊的,但是
属性已被删除:它现在默认在最近的父for=
中运行,除非通过a4j:region
属性与特定小部件有关联。因此,如果在同一区域内有多个目标,它们将全部开火status=
- 如果您想通过
将其应用于特定小部件,则必须将相应的status=
更改为a4j:status/@id
属性@name
- 修复所有这些后,它仍然不起作用:
- 带有
(已删除)属性的@for
不会停止a4j:status
- 使用
属性和no@name
不会做任何事情@id
- 而且无论是
还是@name
都不会停止@id
- 带有
现在rich:column/@breakBefore
breakRowBefore
删除rich:page
删除rich:layout
现在必须是小写rich:column/@sortOrder
现在rich:下拉菜单/@value
rich:下拉菜单/@label
和rich:dropDownMenu/@direction
这些值已分别从rich:dropDownMenu/@jointPoint
和{top left,top right,bottom left,bottom right}
更改为{tl,tr,bl,br}
{top left,top right,bottomLeft,bottomRight}
,rich:contextMenu/@submitMode
,rich:dropDownMenu/@submitMode
现在这些都是富的:/@mode,值rich:menuItem/@submitMode
需要更改为“none”
“client”
对于Mojarra 2.2.08和EL 2.2来说,这已经不再起作用了,至少对我来说是这样。幸运的是,使用EL2.2,您不再需要它,可以使用rich:isUserInRole
request.isUserInRole(…)
现在rich:menuGroup/@value
rich:menuGroup/@label
现在rich:tab/@label
ric
<rich:tree> <rich:treeNodesAdapter var="vm_host"> <rich:treeNode .../> <rich:treeNodesAdapter var="vm_guest"> <rich:treeNode .../> </rich:treeNodesAdapter> </rich:treeNodesAdapter> </rich:tree>
<rich:tree ... var="node"> <!-- Add a 'var' attribute --> <rich:treeModelAdapter> <c:set var="vm_host" value="#{node}"/> <rich:treeNode .../> <rich:treeModelAdapter> <c:set var="vm_guest" value="#{node}"/> <rich:treeNode .../> </rich:treeModelAdapter> </rich:treeModelAdapter> </rich:tree>