BalusC が回答したスレッドを見つけました
それは私が抱えている正確な問題を説明しています。それを見つけたとき、私も自分の答えを見つけたと思いましたが、私にとっては解決策が機能していません。< h:outputScript> タグにはすでに問題がありましたが、おそらく同じ問題です (< script> タグは機能しています)。
私はユーザー Plaha と同じプロジェクトの説明を持っています。バッキング JSF Bean のパラメーター属性を使用して、テンプレート ページで定義された JavaScript 関数を呼び出そうとしています。しかし、今のところアラート機能で十分です。
ページ gridTest.xhtml を例の content.xhtml のようにしようとしましたが、うまくいきません。
gridsTemplate.xhtml は、スレッドのテンプレートとまったく同じように見えます + < head> タグがあり、その中にいくつかの JavaScript 関数があります。私の gridTest.xhtml:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en" xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jsp/jstl/core">
<h:head>
<link rel="stylesheet" type="text/css"
href="/juritest/resources/css/style.css" />
<script type="text/javascript"
src="/juritest/resources/js/jquery-1.8.2.js"></script>
<script type="text/javascript" src="/juritest/resources/js/menu.js"></script>
</h:head>
<body>
<ui:composition template="../../templates/gridsTemplate.xhtml">
<ui:define name="content">
<h:form rendered="#{gridPopUpBean.testNotStarted}">
...
</h:form>
<h:form rendered="#{not gridPopUpBean.testNotStarted}">
<h:outputScript target="body">
alert("working?");
</h:outputScript>
...
好奇心のために、例のように < h:outputScript を ui:define の直下に配置しようとしましたが、どちらも機能しません。