PrimeFaces在h:head中有条件地呈现以下内容:
<script type="text/javascript" src="/webapp/javax.faces.resource/push/push.js.jsf?ln=primefaces"><!--//--></script>当PrimeFaces p:socket组件添加到JSF/xhtml页面时。我的一些页面刷新了,导致这个push.js文件'not‘在h:head中呈现。
当push.js文件“不”呈现时,我希望有条件地呈现push.js文件,以尝试修复/解决我在PrimeFaces推送中遇到的问题。
有关更多详细信息,请单击下面的PrimeFaces论坛主题网址:
Uncaught TypeError: undefined is not a function
我之所以提出这个问题,是因为我已经基于bean属性值有条件地呈现了h:head,如下所示:
<h:head rendered="#{!pageNavigationController.gmaps and !pageNavigationController.gmapsAutoComplete}">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="refresh" content="#{session.maxInactiveInterval};url=pf_viewExpired.jsf" />
<title><h:outputText escape="false" value="MCMS"/></title>
<h:outputStylesheet name="css/mcms.css"/>
<h:outputScript name="js/mcms.js"/>
<h:outputScript name="js/addUsingTemplate.js"
rendered="#{pageNavigationController.isPageSelected('/orders/pf_AddUsingTemplate.xhtml')}"/>
</h:head>也许我使用h:head使得容器Output1.5快照很难为.js文件提供服务,因为在页面上呈现多个h:head是有条件的,或者这实际上可能是一个PrimeFaces推送(大气)问题,最终需要解决,但我确信有一种方法可以通过h: TomEE脚本呈现文件,如果文件还没有呈现在h:head中。
web应用程序正在使用以下内容:
PrimeFaces 3.5快照、TomEE 1.5快照(Tomcat 7.0.32)、JUEL 2.2.5、OmniFaces 1.3快照
请给我建议。
发布于 2012-11-24 01:16:43
这看起来更像是PrimeFaces的问题。为了在同一视图的每个请求上强制加载push.js,您可以显式地添加一个
<h:outputScript library="primefaces" name="push/push.js" target="head" /> 而不使用条件渲染。如果一切顺利,即它按照JSF2资源处理机制运行良好,那么在它正常工作的情况下,它根本不应该包含两次。
https://stackoverflow.com/questions/13532172
复制相似问题