我有一个关于将jquery库与JSF 2.0集成的问题
使用 <h:outputScript library="/common/js" name="jquery-1.5.1.min.js" target="head" />
时,我也应该在我的 XHTML 文件中包含<h:head>
标签。 所以脚本在头部呈现。
但是我有一个模板.xhtml其中包含<h:head>,<h:body>
部分。 如何为从此模板派生的页面target="head" />
ui:composition="template.xhtml"
?
target=form>
也没有用。
我的模板:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.prime.com.tr/ui"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title><h:outputText value="#{msg['label.titlemsg']}" /></title>
<h:outputStylesheet library="css" name="style.css" target="head"/>
</h:head>
<h:body>
<f:view locale="#{localeBean.locale}">
<div id="outer">
<div id="container">
<div id="inner">
<div class="float">
<div class="main">
<!-- -->
<div id="icerik">
<ui:insert name="icerik">
</ui:insert>
</div></div></div></div></div></div>
<div id="langbar" align="center">
</div>
</f:view>
</h:body>
</html>
所以我有"ICERIK"。
在我的文件中:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.prime.com.tr/ui"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<ui:composition template="/Template.xhtml">
<ui:define name="icerik">
<h:outputScript library="/common/js" name="jquery-1.5.1.min.js" target="head" />
<h:outputScript library="/common/js" name="jquery.validate.js" target="head" />
</ui:define>
</ui:composition>
</html>
更好的方法解决了我的问题:将<ui:insert name="icerikhead"></ui:insert>
添加到模板的头部,然后将其填写在我的表单中作为<ui:define name="icerikhead"> add js files </ui:define>