W mojej aplikacji JSF 2.0 Facelets mam jeden wspaniały szablon, który chcę używać wszystkich stron. Znajduje się on w katalogu głównym aplikacji internetowej ukrytej pod nazwą template.xhtml. Tak więc jest to odniesienie, jakiego można się spodziewać:Bezwzględna nazwa ścieżki w moim szablonie, aby uzyskać zasoby
<ui:composition template="./template.xhtml">
Jednak nawiguję teraz, a następnie do plików klienta w podkatalogach. Warto je organizować w ten sposób z powodu różnych poziomów uprawnień. Elementy w tych podkatalogach będą miały odniesienie do tego samego szablonu:
<ui:composition template="../template.xhtml">
Jak dotąd tak dobrze. Jednak w nagłówku szablonu I ciągnąć w css tak:
<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" />
Powodem zwolnionych odniesienia jest to, że nie znalazłem żadnego innego sposobu na zdobycie szablon do pracy z kontekstu korzenia katalog lub podkatalog. Ścieżka, która rozpoczyna się od/nie działa, chyba że można umieścić nazwę aplikacji w tym tak
/TheApp-Ver1_0/resources/css/default.css
Problem z tym jest to, że bezwzględna ścieżka zaczyna się od zmiennej, a nie stały. Zmienna zależy od sposobu wdrożenia aplikacji w kontenerze. Czy istnieje jakiś czysty sposób rozwiązania tego problemu?
Zrobiłem kilka wyszukiwania, aby znaleźć to pytanie. Szczery. Podejrzewam jednak, że jest to jedna z tych, w których BalusC rzuca się w link zapewniający oślepiająco oczywiste rozwiązanie, szeroko dyskutowane gdzieś, gdzie nie trafiłem.
Zrobiłeś to ponownie. Zauważam, że te znaczniki nie zostały jeszcze uwzględnione w niektórych wymienionych tutaj referencjach online: http://stackoverflow.com/questions/539041/whats-the-best-online-reference-for-jsf-tags – AlanObject
Wiele ma zmieniono w JSF 2.x (wprowadzono w drugiej połowie 2009 r.). Wspomniany link pochodzi z lutego 2009 r. I dotyczy wyłącznie dokumentacji JSF 1.x. Dla wszystkich tagów JSF 2.x sprawdź dokumentację JSF 2.x: http://download.oracle.com/javaee/6/javaserverfaces/2.1/docs/vdldocs/facelets/ Gdy używasz JSF 2.x, upewnij się, że czytasz samouczki ukierunkowane na JSF 2.x/książki/dokumentację/odpowiedzi. – BalusC
Więc nie ma żadnej szansy na odniesienie się do pliku css lub js, który nie znajduje się w folderze zasobów?Nie można uzyskać dostępu do zasobu js/css z przeglądarki takiej jak ta myhost/resources/partials/my.css? – ses