Шплинт , кажется, подходит для C.
, Если бы Вы не определили открытый исходный код, я сказал бы Gimpel Software , PCLint является, вероятно, одним из лучших инструментов, доступных для статического кода, регистрируясь в C++. Но, конечно, это не открытый исходный код.
MAC OSX:
brew install splint
Думаю, у BalusC есть ваш ответ.
Тем не менее, я хотел бы добавить несколько дополнительных моментов:
Предположим, что вы запускаете в подкаталогах веб-приложения .
По моему опыту, вы можете попробовать следующее:
'$ {facesContext.externalContext .requestContextPath} / '
ссылка поможет вам немедленно вернуться в корень контекста.
РЕДАКТИРОВАТЬ : Удалено начало /
из ' href = "/ $ { FacesContext.ex ... '
. Если приложение работает в корневом контексте, URL-адрес CSS начинается с //
, и браузеры не могут найти CSS, поскольку он интерпретируется как http: //css/style.css
.
Я никогда не использовал первый, но второй синтаксически действителен и технически должен работать. Если это не работает, то относительный 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" />
Я думаю, что проблема 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
, как для
или
.
Жан-Мари Галлиота