当我点击p:commandButton以显示p:对话框时,我收到javacript错误。
请查看以下错误:
Message: Object doesn't support this property or method
Line: 1
Char: 169
Code: 0
URI: http://localhost:8080/idm/javax.faces.resource/dialog/dialog.js.xhtml? ln=primefaces&v=2.2.1
Message: Object doesn't support this property or method
Line: 1
Char: 133
Code: 0
URI: http://localhost:8080/idm/javax.faces.resource/button/button.js.xhtml?ln=primefaces&v=2.2.1
以下是代码块:
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.prime.com.tr/ui"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jsp/jstl/core">
<p:commandButton value="save" onclick="dlg1.show();" ></p:commandButton>
<p:dialog id="basicDialog" header="Basic Dialog" widgetVar="dlg1">
<h:outputText value="Resistance to PrimeFaces is futile!" />
</p:dialog>
</ui:composition>
所有其他主要组件都运行正常。
任何帮助都将不胜感激。
答案 0 :(得分:2)
是的,我们正在使用jQuery的另一个副本
删除它。 PrimeFaces作为一个基于jQuery / jQuery UI的JSF组件库已经自动包含其捆绑的jQuery文件以及其他对话框组件。 jQuery的多个副本只会相互冲突,导致像你所面临的JS错误。
如果您打算在不一定使用自动包含PrimeFaces捆绑的jQuery文件的PrimeFaces组件的页面上使用jQuery,请将此行添加到<h:head>
。
<h:outputScript library="primefaces" name="jquery/jquery.js" />
这种方式总是包含PrimeFaces捆绑的jQuery文件,如果某些PrimeFaces组件碰巧需要它,PrimeFaces将不会自动包含重复的jQuery文件。