Проблемы с передачей CSS из XHTML - PullRequest
1 голос
/ 02 июля 2010

В моем приложении JSF (Мои лица 1.2.3) я имею в виду файл css как

<link href="css/nav.css" type="text/css" rel="stylesheet" />, 

Это работало, когда к отображаемому HTML-файлу обращаются как к файлу HTML, используя браузер, но не внутримой настроенный контейнер сервлетов.

Неправильная ссылка, хотя относительный путь был правильным.Затем я попытался с

<link href="../css/nav.css" type="text/css" rel="stylesheet" />

. Это работало в браузере, а не в некоторых других браузерах.

Мне сказали, что я должен использовать facelets.DEVELOPMENT "= true, чтобы это работало, Это работало в Dev Env, а не в Test Env (Будут некоторые унаследованные свойства !!!, и не все будетиспользовать из моего приложения)

У меня есть некоторые знания об этих сопутствующих технологиях, но я не специалист. Интересно, в чем проблема и где? - Контейнер сервлетов, XHTML, Facelets, JSF Impl?

ЛюбойИдея - в чем может быть проблема?

Ответы [ 3 ]

1 голос
/ 03 июля 2010

Относительный <link> URL-адрес относительно URL-адреса запроса в том виде, в котором он находится на стороне клиента, в адресной строке веб-браузера (именно веб-браузер отвечает за загрузку файлов CSS), онне относится к структуре папок, как на стороне сервера.

Так, если URL-адрес запроса, например, http://example.com/context/page.jsf,, тогда CSS, на который ссылается href="css/nav.css", будет загружен http://example.com/context/css/nav.css и CSS, на который ссылаются href="../css/nav.css" на http://example.com/css/nav.css.

Если вы все еще застряли с этим, то вам необходимо опубликовать оба absolute URL-адреса, по которым вы можете запроситьрассматриваемая страница успешно и сам файл CSS.Таким образом, мы можем объяснить вам, какой относительный URL к файлу CSS вы должны использовать для рассматриваемой страницы.

1 голос
/ 02 августа 2010

Возможно, проблема в том, что ваше приложение не является абсолютным по отношению к URL-адресу запроса. Предположим, что вы обращаетесь к своему приложению через:

http://localhost/my-app/

А теперь, когда вы пытаетесь загрузить ресурс, как описано выше

<link href="css/nav.css" type="text/css" rel="stylesheet" />

Он будет загружен

http://localhost/css/nav.css

Я бы предложил использовать свойство пути к контексту при ссылке на ресурсы.

<link rel="stylesheet" type="text/css" href="#{request.contextPath}/css/style.css"/>
0 голосов
/ 02 июля 2010

Одним из возможных решений здесь было бы использование корневого относительного пути, что-то вроде.

/MyCSSFolder/myfile.css

В большинстве случаев это может решить проблемы.

...