当前位置: 首页 > 知识库问答 >
问题:

使用标记无法识别JSF/Facelets:CSS文件

孔永年
2023-03-14

我正在处理一个使用JSF/Facelets的项目。我想在我的视图XHTML上做一些CSS更改,但是当我在Tomcat服务器上部署我的web应用程序时什么也没有发生。我试过很多把戏,结果都一样。

总之,这是我的“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">
<head>
<h:outputStylesheet name="css/styles.css" />
    <!-- i've also tried this one, using the "library" attribute -->
    <!--
     <h:outputStylesheet library="css" name="styles.css" />
    -->
</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">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>

最后,这里是我的“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>

共有1个答案

胡飞舟
2023-03-14

(和 )需要 ,但您有一个。相应地修好它。

<h:head>
    <h:outputStylesheet name="css/styles.css" />
</h:head>

此外,您需要确保css/styles.css文件被放置在公共WebContent的/resources子文件夹中。

WebContent
 |-- resources
 |    `-- css
 |         `-- styles.css
 :

对于使用library属性的尝试,请小心,在此上下文中使用library=“css”是不完全正确的。另请参见:JSF资源库是用于什么以及应该如何使用它?

 类似资料:
  • 我想将dir中的环境文件从本地计算机复制到远程计算机。 根据这个答案,我尝试了以下方法,但得到了一个错误: 编辑2:以下是工作原理

  • 突然之间,网络Storm对我来说不认识Javascript了。 如果我添加这样的文件: 之后我在IDE中看到的是: 如果我刷新,重新启动Webstorm,它仍然无法识别文件!网络Storm已无法使用!

  • Webstorm 无法将我的一个.js文件识别为 JavaScript 文件,因此我丢失了语法突出显示并能够添加断点。我查看了文件,有问题的文件似乎与其他正常工作的.js文件具有相似的设置。 如果我更改文件名,它可以正常工作。因此,不知何故,Webstorm 陷入了误解具有此名称的文件类型的困境。我还可以在哪里编辑项目?

  • 我通过Vue-CLI创建了一个Vue项目,当我使用Web斯托打开项目时,但是文件看起来像纯文本,没有高亮语法。 代码如下:

  • 我有一个PHP特征文件: 即使它是一个PHP文件(扩展名为.php),PHPStorm也无法将其识别为有效的PHP文件。编辑器没有对该文件中的PHP代码进行语法突出显示,它几乎显示为普通文本文件。 我试图将此文件从它的命名空间中使用到另一个类文件中,但它也无法使用以下命令识别文件路径: 我做了< code > composer dump-autoload 和: 我也删除了这个文件,重新启动PHPS

  • PyCharm不再识别Python文件。解释器路径设置正确。