Absolute Pfadnamen in meinem template, Ressourcen zu erhalten

In meiner JSF 2.0 Facelets-Anwendung habe ich eine herrliche Vorlage, die ich möchte, dass alle Seiten zu verwenden. Es ist in das root-Verzeichnis des web-app getarnt mit dem Namen Vorlage.xhtml. Also es wird verwiesen, als man erwarten würde:

<ui:composition template="./template.xhtml">

Aber ich Tue navigieren Sie nun und dann die client-Dateien in Unterverzeichnissen. Es ist nützlich, Sie zu organisieren, weil diese Art von unterschiedlichen Berechtigungsebenen. Die facelets in diesen Unterverzeichnissen hätte ein Verweis auf die gleiche Vorlage wie diese:

<ui:composition template="../template.xhtml">

So weit So gut. Jedoch in der Kopfzeile der Vorlage ziehe ich in der css wie dieses:

<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" />

Den Grund für die redundante Verweise ist, dass ich habe nicht gefunden, einen anderen Weg, um die Vorlage zu arbeiten aus dem Kontext des root directory oder sub-directory. Ein Pfadname beginnt mit /funktioniert nicht, es sei denn, Sie setzen den Namen der Anwendung, in der es so

/TheApp-Ver1_0/resources/css/default.css

Das problem mit diesem ist, dass der absolute Pfadname beginnt mit einer variable, keine Konstante. Die variable ist abhängig, wie die Anwendung bereitgestellt wird, in den Behälter. Gibt es irgendeine saubere Möglichkeit der Lösung dieses?

Habe ich einige der Suche zu finden, diese Frage. Ehrlich. Aber ich vermute, das ist anderen einer von denen, wo BalusC Eingriff, einer stellt einen link zu der offensichtlichen Lösung ausführlich diskutiert irgendwo habe ich verpasst.

InformationsquelleAutor AlanObject | 2011-09-11
Schreibe einen Kommentar