Как переопределить Primefaces jQuery и css - PullRequest
3 голосов
/ 07 марта 2012

Я использую PrimeFaces.В качестве PrimeFaces используется собственный jQuery, jqueryUI, jQuery-UI.css.Я использую UI: состав.Что я сделал, я включил строку в мою страницу шаблона, как это

layout.xhtml

 <h:head>       
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>
        <ui:insert name="title">Login</ui:insert> 
    </title>      
    <ui:insert name="style"></ui:insert>
</h:head>

Затем на моей странице я использовал что-то вроде этого

<h:body>
    <ui:composition template="./WEB-INF/templates/layout.xhtml">           
        <ui:define name="title">Add News</ui:define>
        <ui:define name="style"><h:outputStylesheet library="css" name="basit.css"/> </ui:define>
        <ui:define name="content">
            <h:form id="news_advertisement_form"  >
            ...
            </h:form>
        </ui:define>
    <ui:composition>
</h:body>

Thisвключает в себя basit.css на моей странице, но проблема в том, что css включает в себя, прежде чем простые лица css и jQueries.Я хочу, чтобы мой CSS появился после PrimeFaces Css и jqueries.Как мне это сделать?Спасибо

Ответы [ 2 ]

3 голосов
/ 16 марта 2012
<h:head>
    <!--This css will come just before Prime Faces skin.css -->
    <h:outputStylesheet library="css" name="messageDialogStyle.css" />
    <h:outputScript library="primefaces" name="jquery/jquery.js" />
    <h:outputScript >
        $ = jQuery;
    </h:outputScript>
    <h:outputScript library="Javascripts" name="default.js" />
    <h:outputScript library="Javascripts" name="jquery.dialog.js" />

    <!--These all come after PrimeFaces css -->
    <link rel="stylesheet" type="text/css" href="css/humera.css" />
    <link rel="stylesheet" href="css/witp.css" type="text/css" />

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title>
        <ui:insert name="title">Login</ui:insert> 
    </title>

    <ui:insert name="style"></ui:insert>

</h:head>
<h:body>       
    <div>
        <ui:insert name="top1">
            <ui:insert name="style"></ui:insert>
            <ui:include src="header.xhtml" id="header"/>
            </ui:insert>
    </div>
    ....

</h:body>
2 голосов
/ 07 марта 2012

Существует проблема, зарегистрированная в PrimeFaces, которая обсуждает эту проблему.

http://code.google.com/p/primefaces/issues/detail?id=2454

По существу, компонент h:head выполняет рендеринг таблиц стилей PrimeFaces и JavaScript после включения элементов из * 1007.*.Также существует эта проблема, которая выглядит так же.

http://code.google.com/p/primefaces/issues/detail?id=2478

Эта проблема помечена как исправленная в 3.0, однако вы должны попробовать вставить свою таблицу стилей внутри тега h:bodyвместо h:head в качестве возможного обходного пути.

...