我正在開發一個web應用程序,使用3.4.2版本的Primefaces。我有一個p:pickList
就可以了。應用程序正在使用常規模板工作,每個頁面將替換正在爲每個請求重新加載的模板的general_content
。我的問題是,選擇列表不工作(不能與它交互),因爲當我加載頁面時發生一些JavaScript錯誤。這是我的XHTML:Primefaces 3.4.2 javascript錯誤
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:p="http://primefaces.org/ui"
template="/templates/general_template.xhtml">
<ui:define name="metadata">
<f:metadata>
<f:viewParam id="user" name="user"
value="#{navegableUserData._ParamUser}" />
<f:viewParam id="NavIndex" name="NavIndex"
value="#{navegableUserData._QueueIndex}" />
<f:event type="preRenderView"
listener="#{navegableUserData.initialize}" />
</f:metadata>
<h:message for="user" />
</ui:define>
<ui:define name="general_content">
<h:form id="SystemUserForm">
<p:pickList id="rolePickList" value="#{navegableUserData._ListRoles}"
var="role" itemValue="#{role}" converter="rolConverter">
<f:facet name="sourceCaption">
<h:outputText value="#{msg.AVAILABLE}" />
</f:facet>
<f:facet name="targetCaption">
<h:outputText value="#{msg.ASSIGNED}" />
</f:facet>
<p:column>
<h:outputText value="#{role._Nombre}" />
</p:column>
</p:pickList>
</h:form>
</ui:define>
這是JavaScript錯誤我:
Firefox中的Firebug
螢火蟲告訴我該元素a,不能被發現第一行primefaces.js
"a is undefined"
PrimeFaces={escapeClientId:function(a){return"#"+a.replace(/:/g,"\\:")},
...
督察在Chrome
Uncaught TypeError: Cannot call method 'replace' of undefined primefaces.js.xhtml:1
PrimeFaces.escapeHTML primefaces.js.xhtml:1
(anonymous function) primefaces.js.xhtml:27
bG.extend.each jquery.js.xhtml:14
bG.fn.bG.each jquery.js.xhtml:14
PrimeFaces.widget.PickList.PrimeFaces.widget.BaseWidget.extend.generateItems primefaces.js.xhtml:27
PrimeFaces.widget.PickList.PrimeFaces.widget.BaseWidget.extend.init primefaces.js.xhtml:27
e.(anonymous function) jquery.js.xhtml:373
c jquery.js.xhtml:373
PrimeFaces.createWidget primefaces.js.xhtml:1
PrimeFaces.cw primefaces.js.xhtml:1
(anonymous function)
看起來有些jQuery是失敗的。隨着Prime的以前版本,3.4.1,一切工作正常。
在螢火蟲,嘗試把一個breakmark在該行(腳本選項卡),當它停下看看它說的鼠標懸停提示這個'函數(a)'參數。它可以調用沒有ID的元素上的函數,如果是這種情況,也許它是PF 3.4.2上的錯誤(你不能降級PF庫嗎?) – Mindwin
我已經用Firebug進行了測試,它給了我未定義的值。使用JSF * 2.1.15-2.1.16 *進行測試。當然,我可以降級它,但我只是想知道它爲什麼會發生。 –