0

我正在使用 JSF/Facelets 和样式表来装饰我的视图 JSF 的项目。我想在我的视图 XHTML 的内容中放置一些图形组件(例如:“h:inputText”和“h:commandButton”标签),但这无法实现,我不知道为什么!唯一出现的部分是我的模板“Template.html”的页眉和页脚。

无论如何,这是我的“styles.css”:

body { width: 750px; }

#header 
{
   width:              100%;
   font-size:          36px;
   font-weight:        bold;
   line-height:        48px;
   background-color:   navy;
   color:              white;
}

#footer
{
   width:              100%;
   font-weight:        bold;
   background-color:   navy;
   color:              white;
}

这是主模板“Template.html”,包括“Header.html”和“Footer.html”,我在其中使用标签放置了“styles.css”:

  <!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:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets">
 <h:head>
      <h:outputStylesheet name="css/styles.css" />      
 </h:head>
 <h:body>
 <h:panelGroup id="page" layout="block">

 <h:panelGroup id="header" layout="block">
    <ui:insert name="header">
        <ui:include src="Header.html" />
    </ui:insert>
 </h:panelGroup>

 <h:panelGroup id="container" layout="block">
    <h:panelGroup id="content" layout="block">
        <ui:insert name="content"></ui:insert>
    </h:panelGroup>
 </h:panelGroup>

 <h:panelGroup id="footer" layout="block">
    <ui:insert name="footer">
        <ui:include src="Footer.html" />
    </ui:insert>
 </h:panelGroup>

 </h:panelGroup>

 </h:body>
 </html>

Anf 最后是我的“Main.xhtml”,其中包括模板“Template.html”:

 <?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">
 <ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a4j="http://richfaces.org/a4j" xmlns:rich="http://richfaces.org/rich" template="Template.html">
 <h:body>
 <ui:define name="content">
    <h:form>
        <h:inputText title="inputText"></h:inputText>
        <h:commandButton value="OK"></h:commandButton>
    </h:form>
 </ui:define>
 </h:body>
 </ui:composition>

提前致谢 :)

4

1 回答 1

1

你已经在你的作品中定义了 ah:body ,它看起来很奇怪。

这是一个类似问题的链接。 如何包含-另一个-xhtml-in-xhtml-using-jsf-2-0-facelets

于 2012-09-05T15:18:21.237 回答