Внешний CSS для JSF

Шплинт , кажется, подходит для C.

, Если бы Вы не определили открытый исходный код, я сказал бы Gimpel Software , PCLint является, вероятно, одним из лучших инструментов, доступных для статического кода, регистрируясь в C++. Но, конечно, это не открытый исходный код.

MAC OSX:

brew install splint

12
задан sergionni 29 November 2009 в 15:54
поделиться

3 ответа

Думаю, у BalusC есть ваш ответ.

Тем не менее, я хотел бы добавить несколько дополнительных моментов:

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

'$ {facesContext.externalContext .requestContextPath} / ' ссылка поможет вам немедленно вернуться в корень контекста.

РЕДАКТИРОВАТЬ : Удалено начало / из ' href = "/ $ { FacesContext.ex ... '. Если приложение работает в корневом контексте, URL-адрес CSS начинается с // , и браузеры не могут найти CSS, поскольку он интерпретируется как http: //css/style.css .

11
ответ дан 2 December 2019 в 05:41
поделиться

Я никогда не использовал первый, но второй синтаксически действителен и технически должен работать. Если это не работает, то относительный URL-адрес в атрибуте href просто неправильный.

В относительных URL-адресах ведущая косая черта / указывает на корень домена. Так, если страница JSF запрашивается, например, http://example.com/context/page.jsf , URL-адрес CSS будет абсолютно указывать на http://example.com/styles/ decoration.css . Чтобы узнать действительный относительный URL-адрес, вам необходимо знать абсолютный URL-адрес как страницы JSF, так и файла CSS и извлечь один из другого.

Предположим, что ваш файл CSS на самом деле находится по адресу http: / /example.com/context/styles/decoration.css, тогда вам нужно удалить начальную косую черту, чтобы она относилась к текущему контексту (одному из page.jsp ):

<link rel="stylesheet" type="text/css" href="styles/decoration.css" />
7
ответ дан 2 December 2019 в 05:41
поделиться

Я думаю, что проблема Sergionni в два раза.

Во-первых, верно, что так называемый корневой родственник, подобный Балюду, на самом деле домен относительно, поэтому в примере относительно http://example.com/ и не к http://example.com/context/ .

Итак, вы должны указать

<link rel="stylesheet" type="text/css" href="${request.contextPath}/styles/decoration.css" />

BTW Balusc, поздравления, это первый раз, когда я вижу, что это правильно объяснил! Я много боролся, чтобы обнаружить это.

Но, если вы хотите упростить и предложить:

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

Предполагая, что стиль DIR является Sibring вашей текущей страницы, то вы можете иметь вторую проблему:

вы тогда в относительный метод URL и, Я пришел на эту страницу вперед, а не перенаправить, ваш браузер может быть одурачен и не сможет следовать относительном пути.

Чтобы решить эту вторую проблему, вы должны добавить это:

<head>
    <base href="http://${request.serverName}:${request.serverPort}${request.contextPath}${request.servletPath}" />

Базовый элемент должен предшествовать любой ссылке.

Base Command вы сообщаете свой браузер, где вы на самом деле.

Надеюсь, это поможет.

и BTW Другая странная вещь в этом Wondeful World JSF:

, чтобы связаться с страницы на шаблон своего цвета, корневая относительная ссылка в том, что на этот раз, включая контекст, так как:

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

это ссылки действительно для http://example.com/context/layouts/layout.xhtml

и не к http://example.com/layouts/layout.xhtml , как для или .

Жан-Мари Галлиота

3
ответ дан 2 December 2019 в 05:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: