2011-07-27 14 views
0

我有一個奇怪的問題, 如果我的頁面index.xhml是:JSF 2:如何包含樣式表和JavaScript?

<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> 
    //.. import css and javascript 
    </head> 
    <body> 
    // .. my page content 
    </body> 
</html> 

寄託都沒有問題,但是,如果我改變<head><h:head><body></h:body>我的網頁似乎不適用風格很好,據我所知,我的JavaScript文件似乎沒有被應用在頁面中。 爲什麼會發生這種情況?我已經嘗試更改爲<h:outputScript library="javascript" name="file.js" />,但它也不起作用。

有什麼想法?爲什麼發生這種情況?

+2

您如何在web.xml中設置FacesServlet的映射?我懷疑你使用了錯誤的網址來查看頁面。例如,如果映射爲 * .jsf,則應該使用http://example.com/app/index.jsf讓頁面正確解析。 –

+0

嗨Giorgos,我的網頁被正確解析,但是我的javascripts不是。 –

+0

如果您在瀏覽器中查看頁面源代碼,則JSF和JSF呈現JS和CSS位? – Justin

回答

1

使用這種高於體溫,然後ü可以在你的JSP直接使用方法

<script src="${pageContext.request.contextPath}/yourJSFile.js" type="text/javascript"/> 

<link rel="stylesheet" href="${pageContext.request.contextPath}/yourCSSFile.css" type="text/css" /> 

yourJS.js yourCSS.css文件應該是你的WebContent下($ {pageContext.request.contextPath})。 它更好地爲您的js,css,網頁等維護單獨的文件夾。