我找到了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 下,就像示例中一样,但它也不起作用。