簡體   English   中英

在JSF中添加外部JavaScript

[英]Adding external javascript in JSF

我想在我的JSF頁面中插入一個外部javascript文件。 所以我做的是:

現在,JSF文件名為start.xhtml,兩者都位於同一文件夾中。 然而,當我跑步時,沒有任何事情發生[當我點擊時,javascript應該彈出警報]。 我檢查了頁面源代碼,並且顯示在。

如果沒有找到RES,我做錯了什么? 我甚至放了絕對的路徑但沒有發生任何事情:(。我悲傷的熊貓。

Fyi,我正在使用最新的Netbeans。

謝謝,宋。

嘗試以這種方式包含您的腳本

<script src="#{facesContext.externalContext.requestContextPath}/yourPathAfterWebpages/scriptFile.js" type="text/javascript"></script>

首先,絕對路徑必須有效。 這不是Netbeans或Glassfih或JSF的問題 - 它是一個瀏覽器的東西。 如果您的瀏覽器出現故障阻止它從有效網址中獲取Javascript,您會注意到。 因此,如果您的Javascript沒有加載,那么99%的可能性是一個簡單的錯字,一個愚蠢的錯誤(忘記目錄名稱,添加額外的斜杠或類似的東西),與任何提到的技術無關。

另一個理論(只是一個理論 - 我沒有足夠的數據來證明它)是你有一個標准的映射,顯示“虛擬”面目錄( / faces / *)中的所有面部文件。 因此,當您將index.xhtml放在Foo項目的主目錄中時,可以在以下位置看到它: localhost:8080 / Foo / faces / index.xhtml 路徑的“faces”部分不代表任何真實目錄,它只是一個映射。 因此,如果您有一個坐落在index.xhtml下的js文件,您可以像下面這樣說: '../ yourjavascript.js' ; ../是為了補償虛擬目錄部分。

無論如何,我強烈建議你放棄你的腳本加載dillemas並使用官方和很好的方式加載資源,如javascript是將它們放入一個名為“resources”的目錄(在Netbeans的“網頁”節點下制作一個,它將最終出現在.war的頂級目錄中; 要獲取在資源下保存的任何文件的路徑,您可以使用EL:#{resource ['filename.css']}。 您將通過以下方式加載腳本:

   <script src='#{resource['script.js']}' ></script>

如果你使用資源目錄,你可以做更多的事情, 閱讀一些細節

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM