Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 无法在Primefaces 4 p:inplace上通过widgetVar显示()_Jsf 2_Primefaces - Fatal编程技术网

Jsf 2 无法在Primefaces 4 p:inplace上通过widgetVar显示()

Jsf 2 无法在Primefaces 4 p:inplace上通过widgetVar显示(),jsf-2,primefaces,Jsf 2,Primefaces,我目前正在将一个网络应用程序从Primefaces 3.5更新到4.0。我有一个复合组件,用于通过onclickp:widgetVar('dlg').show()链接切换就地编辑。我已经将其更新到Primefaces 4.0 wayPF('dlg').show()但它不起作用 代码类似于: <p:inplace id="inplaceEdit" widgetVar="ie_#{cc.attrs.pojo.id}" editor="true" st

我目前正在将一个网络应用程序从Primefaces 3.5更新到4.0。我有一个复合组件,用于通过onclick
p:widgetVar('dlg').show()链接切换就地编辑。我已经将其更新到Primefaces 4.0 way
PF('dlg').show()但它不起作用

代码类似于:

<p:inplace id="inplaceEdit" widgetVar="ie_#{cc.attrs.pojo.id}"
           editor="true"
           styleClass="description" emptyLabel="Enter A Description" >
    <p:inputText value="#{cc.attrs.pojo.description}"
                 required="true" maxlength="140"
                 label="description" styleClass="description">
        <p:ajax process="@this" listener="#{cc.attrs.bean.update(cc.attrs.pojo)}"/>
    </p:inputText>
</p:inplace>

<h:panelGroup>
    <div class="aap-btn-group">
        <p:commandLink id="pieButton" onclick="PF('ie_#{cc.attrs.pojo.id}').show()">
            <i class="icon icon-edit"></i>
        </p:commandLink>
    </div>
</h:panelGroup>


这会在我的页面上输出一个链接,如
PF('ie_19')。show()
,但即使从浏览器控制台调用该函数,它也不会切换就地编辑。

找到了我的问题的原因。我一直在使用@balusc在本文中提供的jsf修复程序:

脚本检查
是否(update.getAttribute(“id”)==“javax.faces.ViewState”)
,但由于我已经更新到JSF2.2,字符串似乎不是完全“javax.faces.ViewState”。通过Chromes调试器运行它,我看到了
“j_id1:javax.faces.ViewState:0”

为了解决这个问题,我将脚本的这一部分更改为:
if(update.getAttribute(“id”).indexOf(“javax.faces.ViewState”)!=-1)
,如果id属性字符串包含“javax.faces.ViewState”,则返回true