Как связать внешний ресурс CSS с JSF h: outputStylesheet? - PullRequest
8 голосов
/ 11 июля 2011

Мне было интересно, могу ли я использовать <h:outputStylesheet/> для связи CSS с внешними ресурсами. Я хочу связать сетки Yahoo. Используя следующий код, я получил 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 Ответ

15 голосов
/ 13 августа 2011

Вы можете продолжать использовать обычный 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/>, файл должен находиться внутри папки /resources самого веб-приложения. См. Также Как ссылаться на ресурс CSS / JS / image в шаблоне Facelets? Но если файл не предоставляется веб-приложением, вам следует использовать обычный HTML <img/> или <link/> или <script></script> для этого.

Вместо простого HTML <link/> вы также можете загрузить этот .css и поместить в папку /resources веб-приложения, чтобы вы могли использовать <h:outputStylesheet/>.

...