由于 PickList 组件中的性能错误,我最近将 PrimeFaces 从 3.4 升级到 3.4.2 。升级完成后,我的向导组件已停止运行。
我正在使用自定义按钮进行导航,使用用户指南3.4定义的widgetVar
,next()
和prev()
。
<p:wizard widgetVar="wiz" flowListener="#{wizard.onFlowProcess}"
showStepStatus="false" showNavBar="false">
<p:commandButton value="Weiter" onclick="wiz.next()" update="dialogRespHeader">
这在版本3.4中有效。单击按钮后更新后,无论我等待多久,都会显示 waitprogress 动画并且不会再发生任何事情。服务器没有挂起请求:点击按钮后立即发送请求,响应也在此后发出。它看起来是正确的:
<partial-response>
<changes>
<update id="mainForm:j_id1831660928_7d431f69"> [some content]
<extension ln="primefaces" type="args">{"currentStep":"internUserTab"}</extension>
<extension ln="primefaces" type="args">{"currentStep":"internUserTab"}</extension>
</changes>
</partial-response>
所以问题是:这个版本之间有什么变化?这是一个错误,或者API更改(我找不到有关此组件的api更改的任何信息)。
更新 FireBug控制台显示错误:
SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data
在jQuery 1.8.2中可以出错吗?这是这些版本之间最大和最危险的变化。
答案 0 :(得分:0)
PrimeFaces中的错误,浏览器提供缓存资源。
jQuery的版本已更改,但资源的名称保持不变,因此浏览器将从缓存中加载旧版本的jQuery,直到清除缓存。
从3.4到3.5的迁移复制多次。在包含各种组件的所有情况下都发生了,摆脱它的唯一方法是向所有用户发送信息,并提供清理浏览器缓存的说明。