h:commandLink与f:ajax无法呈现

时间:2019-05-14 15:15:29

标签: jsf jsf-2.3

从Wildfly 8迁移到16,从Java 8迁移到11之后,我一直在面对影响JSF h:commandLinkf:ajax的问题。

我尝试渲染:mainformmainform@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>

1 个答案:

答案 0 :(得分:0)

目前,我已经将所有js CDATA脚本移到了表格之外,以便能够呈现它。

相关问题