如何使用JSF h:outputStylesheet链接外部CSS资源?

10
我想知道是否可以使用<h:outputStylesheet/>从外部资源链接CSS。我想要链接Yahoo Grids。使用以下代码,我得到了一个RES_NOT_FOUND错误:
<?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:f="http://java.sun.com/jsf/core"      
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.prime.com.tr/ui"
      xmlns:tcmt="http://java.sun.com/jsf/composite/tcmt/component">

    <h:head>
    </h:head>
    <h:body>
        <h:outputStylesheet library="css" name="http://yui.yahooapis.com/3.3.0/build/cssgrids/grids-min.css" target="head" />
     </h:body>
</html>
1个回答

19

你可以继续使用纯HTML来实现这个:

<link type="text/css" rel="stylesheet" href="http://yui.yahooapis.com/3.3.0/build/cssgrids/grids-min.css" />
当你使用 <h:graphicImage/><h:outputStylesheet/><h:outputScript/> 标签时,文件需要放置在web应用程序本身的 /resources 文件夹中。另请参见如何在Facelets模板中引用CSS/JS/图像资源? 但是,如果文件不是由web应用程序提供的,则应使用纯HTML <img/><link/><script></script> 标签来实现此目的。

而且,你还可以下载此 .css 文件并将其放置在web应用程序的 /resources 文件夹中,这样你就可以使用 <h:outputStylesheet/> 标签了,不必使用普通的 HTML <link/> 标签。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接