从Wildfly 8迁移到16,从Java 8迁移到11之后,我一直在面对影响JSF h:commandLink
和f:ajax
的问题。
我尝试渲染:mainform
,mainform
,@form
...但是没有一个工作。我必须手动重新加载页面才能看到更改。
<h:form id="mainform">
<div id="adiv">
...
<h:commandLink value="Change statut" styleClass="grey" rendered="#{not bean.condition}">
<f:ajax event="click" listener="#{bean.switchStatus}" execute="@this" render="@form" />
</h:commandLink>
</div>
</h:form>
WF8和Java 8一切正常。
我该如何解决?
编辑:我尝试使用Richfaces和a4j:commandLink
:
<a4j:commandLink value="Click here" reRender="@form" actionListener="#{bean.switchStatus}"/>
和
<a4j:commandLink value="Click here" render="@form" execute="@form" actionListener="#{bean.switchStatus}"/>
仍然没有渲染。状态已更改,但页面格式未刷新。
编辑: 经过研究后,javascript渲染似乎出现了错误: 当我删除此功能时,渲染工作正常:
<script type="text/javascript">
//<![CDATA[
var interval;
function countDown(){
var countdown=$("#countdown");
var count=20;
if(interval){
clearInterval(interval);
}
interval=setInterval(function(){
count--;
if(count > 0) {
countdown.text(count);
} else {
clearInterval(interval);
interval=undefined;
$("#cancelLnk").remove();
}
},1000);
}
function onCancel(data){
if(data&&data.status=="begin"&&interval){
clearInterval(interval);
interval=undefined;
}
}
//]]>
</script>
答案 0 :(得分:0)
目前,我已经将所有js CDATA脚本移到了表格之外,以便能够呈现它。