Java EE,JSF及以下

问题描述 投票:4回答:1

现在,我正在做我的第一个Java项目,一个Web应用程序。我最初是一名PHP开发人员,并且习惯于在Less中编写样式表并使用Gulp进行编译。所以我以为我可以做同样的事情,除了我不会使用Gulp而是Maven。

起初,我无法正常运行,但是经过一个小时的谷歌搜索,我想到了以下内容(pom.xml的一部分):

<plugin>
    <groupId>biz.gabrys.maven.plugins</groupId>
    <artifactId>lesscss-maven-plugin</artifactId>
    <version>1.1</version>
    <configuration>
        <sourceDirectory>${project.basedir}/src/webapp/styles</sourceDirectory>
        <outputDirectory>${project.build.directory}/${project.build.finalName}</outputDirectory>
        <compress>true</compress>
    </configuration>
</plugin>

现在,每次我在Intellij IDEA中单击“运行”按钮时,样式表都会被编译为生成的WAR。源代码树如下所示:

“描述”

我正在使用Java Server Faces,并且对于链接已编译的样式表存在疑问。以前,当我使用纯CSS时,我可以将样式表放到resources目录中,然后使用h:outputStylesheet来对样式表进行神奇的编译和链接。现在我显然无法做到这一点,所以我想问一下在JSF项目中使用较少文件时最好的工作流程是什么?

谢谢。

java maven jsf intellij-idea less
1个回答
0
投票

要向jsf应用程序中添加较少的文件,必须将*.less文件放入resources文件夹(或此文件夹的子文件夹)中。然后您怎么说通过定义一个h:outputStylesheet来引用它:

<h:outputStylesheet library="styles" name="yourlessfile.less" />

A h:outputStylesheet呈现具有该值的linklibrary是文件所在的子文件夹,name是文件名。您也可以写:

<h:outputStylesheet name="/styles/anotherfolder/yourlessfile.less" />

但这不是经常执行。

重要

要使运行的文件更少,必须将此条目添加到web.xml

<mime-mapping>
    <extension>less</extension>
    <mime-type>text/css</mime-type>
</mime-mapping>

这将在您的应用程序中启用*.less文件。

((我在JSF 2.3中进行了测试,旧版本也应该兼容)

© www.soinside.com 2019 - 2024. All rights reserved.