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 «не» отображается в h:head.
Когда файл push.js «не» отображается, я хотел бы условно отобразить файл push.js, пытаясь исправить/обойти проблему, с которой я столкнулся с PrimeFaces Push.
Для получения более подробной информации щелкните URL-адрес темы форума PrimeFaces ниже:
Uncaught TypeError: undefined is not a function
Я задаю этот вопрос, потому что я уже условно отображаю h:head на основе значений атрибутов bean-компонента, таких как следующие:
<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 мешает контейнеру TomEE 1.5 SNAPSHOT обслуживать файл .js из-за условного рендеринга нескольких h:head на странице, или это может быть проблема PrimeFaces Push (Atmosphere). в конечном итоге это необходимо решить, но я уверен, что есть способ отобразить файл .js через h: outputScript, если файл еще не отображается в h: head.
Веб-приложение использует следующее:
СНИМОК PrimeFaces 3.5, СНИМОК TomEE 1.5 (Tomcat 7.0.32), JUEL 2.2.5, СНИМОК OmniFaces 1.3
Пожалуйста, порекомендуйте.
<h:head>
, это объяснило бы проблему. Я бы предпочел использовать один<h:head>
, который всегда отображается, и обернуть условно отображаемые дочерние элементы в<ui:fragment>
. Попробуйте. - person BalusC   schedule 23.11.2012<h:outputScript library="primefaces" name="push/push.js" target="head" />
без условного рендеринга (если все прошло хорошо, он вообще не должен включаться дважды). - person BalusC   schedule 23.11.2012