我有一个关于将jquery库与JSF 2.0集成的问题
使用<h:outputScript library="/common/js" name="jquery-1.5.1.min.js" target="head" />
时,我应该在我的xhtml文件中包含<h:head>
标记。所以脚本呈现在头部。
但我有一个包含<h:head>,<h:body>
部分的template.xhtml。如何为我的页面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>
答案 0 :(得分:6)
我认为更好的方法可以解决我的问题:将<ui:insert name="icerikhead"></ui:insert>
添加到模板的头部,然后将其填入我的表单<ui:define name="icerikhead"> add js files </ui:define>