UI: вставить внутри UI: включить не работает
Можно ли написать <ui:insert>
внутри <ui:include>
? Когда я пытаюсь использовать <ui:define name="jsInclude">
содержание не видно. При попытке сделать это с JSF 1.2, это работает, но не с JSF 2.2.
Может ли кто-нибудь помочь мне понять, что мне не хватает в концепции шаблонов в JSF 2.2?
Спасибо!!
Ниже мой код
Это файл шаблона
<!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://xmlns.jcp.org/jsf/facelets">
<head>
<title><ui:insert name="browserTitle">My Page</ui:insert></title>
<ui:insert name="head"></ui:insert>
<ui:include src="myIncludeFile.xhtml" />
</head>
<body>
<div class="mainContent">
<!-- START OF BODY CONTENT //-->
<ui:insert name="body">Default Body</ui:insert>
<!-- END OF BODY CONTENT //-->
</div>
</body>
</html>
Это включенный файл
<span xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
<ui:composition>
<ui:insert name="jsInclude"></ui:insert>
</ui:composition>
</span>
Ниже находится главная страница клиента
<!DOCTYPE HTML>
<html
xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
<ui:composition template="../templates/myTemplate.xhtml">
<ui:define name="browserTitle">My Page</ui:define>
<ui:define name="head">
This is head
</ui:define>
<ui:define name="jsInclude">
This is js include!
</ui:define>
<ui:define name="body">
This is body!
</ui:define>
</ui:composition>
</html>