Nella mia applicazione Facelets JSF 2.0 ho un modello glorioso che desidero utilizzare tutte le pagine. Si trova nella directory radice dell'app Web mascherata con il nome template.xhtml. Quindi si fa riferimento come ci si aspetterebbe:Nome percorso assoluto nel mio modello per ottenere risorse
<ui:composition template="./template.xhtml">
Tuttavia, navigo ora e poi nei file client nelle sottodirectory. È utile organizzarli in questo modo a causa dei diversi livelli di privilegio. I facelets a quelle che si trovano avrebbero un riferimento allo stesso modello come questo:
<ui:composition template="../template.xhtml">
Fin qui tutto bene. Tuttavia nell'intestazione del modello tiro nel css come questo:
<link href="./resources/css/default.css" rel="stylesheet" type="text/css" />
<link href="./resources/css/tableLayout.css" rel="stylesheet" type="text/css" />
<link href="../resources/css/default.css" rel="stylesheet" type="text/css" />
<link href="../resources/css/tableLayout.css" rel="stylesheet" type="text/css" />
La ragione per i riferimenti ridondanti è che non ho trovato nessun altro modo per ottenere il modello di lavorare dal contesto della radice directory o sottodirectory. Un percorso che inizia con un/non funziona a meno che non si mette il nome dell'applicazione in esso come questo
/TheApp-Ver1_0/resources/css/default.css
Il problema di questo è che il percorso assoluto inizia con una variabile, non è una costante. La variabile dipende da come viene distribuita l'app nel contenitore. C'è un modo pulito per risolvere questo?
Ho effettuato alcune ricerche per trovare questa domanda. Onesto. Tuttavia, sospetto che questo sia un altro uno di quelli in cui BalusC piomba in un punto fornisce un collegamento alla soluzione apparentemente ovvia ampiamente discussa da qualche parte mi mancava.
L'hai fatto di nuovo. Ho notato che questi tag non sono ancora stati inclusi in alcuni dei riferimenti online menzionati qui: http://stackoverflow.com/questions/539041/whats-the-best-online-reference-for-jsf-tags – AlanObject
Un sacco ha stato modificato in JSF 2.x (introdotto nella seconda metà del 2009). Il link che hai menzionato è di febbraio 2009 e fa riferimento solo alla documentazione JSF 1.x. Per tutti i tag JSF 2.x, controllare la documentazione di JSF 2.x: http://download.oracle.com/javaee/6/javaserverfaces/2.1/docs/vdldocs/facelets/ Quando si utilizza JSF 2.x, assicurarsi che stai leggendo tutorial mirati su JSF 2.x/libri/documentazione/risposte. – BalusC
Quindi non c'è alcuna possibilità di fare riferimento al file css o js che non si trova nella cartella delle risorse?Né è possibile raggiungere la risorsa js/css dal browser come questo myhost/resources/partials/my.css? – ses