2012-03-12 4 views
1

Я разрабатываю свой первый проект с использованием JSF 2.0, так что простите меня, если это глупый вопрос. Тем не менее, я не могу найти ответ на этот вопрос после Googling.Ориентация компонентов JSF 2.0 в CSS

В принципе, у меня есть таблица стилей, которые, как, например, добавляет этот стиль:

body { 
    padding-top: 60px; 
} 

Это прекрасно работает, если мой HTML файл использует <body> тег, но не работает, если я использую <h:body> (при условии, Я импортирую HTML-тег JSF с ярлыком «h»).

Это то же самое для любых других компонентов, что является болью, особенно при попытке стилизации компонентов формы.

Любая помощь будет очень оценена. Благодарю.

ответ

4

, но не работает, если я использую <h:body> (предполагая, что я импортировать TagLib JSF HTML с ярлыком «ч»).

Это не правда. JSF работает на веб-сервере. JSF генерирует HTML. Веб-сервер отправляет этот HTML-код в браузер. Все браузеры получают JSF-сгенерированный HTML, а не исходный код JSF. CSS работает только в браузере. Все CSS будет работать, это HTML-код, созданный JSF. Откройте страницу JSF в браузере, правой клавише и Просмотрите исходный код, чтобы увидеть его самостоятельно. <h:body> стал <body>.

Если у вас есть проблемы с вашим CSS, это вызвано в другом месте. По крайней мере, вам нужно создать свой CSS на основе генерируемого JSF выходным кодом HTML, а не в исходном коде JSF.

+0

Фактически это ** является ** истинным. Я понимаю концепцию того, как JSF отображает HTML в браузере, что еще более смущает меня. Вы правы, говоря, что этого не должно произойти, я это понимаю. Моя проблема в том, что это ** происходит **. Проблема возникает именно так, как указано в моем вопросе. Если я сменил тег '' на тег '', CSS не будет отображаться в элементе. –

+2

Итак, браузер получил несанкционированный исходный код JSF? Браузер восстановил '' вместо ''? Тогда это означает, что 'FacesServlet' не вызывается. Убедитесь, что URL-адрес запроса в адресной строке браузера соответствует его «» или проще, просто измените его '' на '* .xhtml', так что вам не нужно возиться с виртуальными URL-адресами, такими как' * .jsf'. Как сказано, это совершенно другая проблема: :) – BalusC

+0

Приветствия, очень ценится. –

Смежные вопросы