Действительно ли возможно использовать JSF для создания чистых разметок CSS, не используя таблицы?

Как Вы у меня есть также установка 'много' app.config - например, app.configDEV, app.configTEST, app.config. ЛОКАЛЬНЫЙ. Я вижу часть превосходной предложенной альтернативы, но если бы Вам нравится способ, которым она работает на Вас, я добавил бы следующее:

я имею
<appSettings>
<add key = "Env" value = "[Local] "/> для каждого приложения, я добавляю это к UI в строке заголовка: от ConfigurationManager. AppSettings. Доберитесь ("ENV");

я просто переименовываю конфигурацию к той, для которой я нацелен (у меня есть проект с 8 приложениями с большим количеством конфигурации database/wcf против 4 evenioments). Для развертывания с clickonce в каждого, я изменяю 4 кипения в проекте и иду. (это, которое я хотел бы автоматизировать)

Мой единственный глюк к rememeber для 'очистки всех' после изменения, поскольку старая конфигурация застревает после руководства переименовывают. (Который я думаю, зафиксирует Вас проблема setting.setting).

я нахожу, что это работает действительно хорошо (однажды, я заставлю время смотреть на MSBuild/NAnt)

16
задан BalusC 16 March 2017 в 08:42
поделиться

2 ответа

либеральное использование таблиц HTML для разметки многими компонентами

Многие компоненты? Насколько мне известно , только два делают это «излишне»: и . Если вам нужна группа радиокнопок и флажков без таблицы, в которой у вас есть полный контроль над сгенерированной разметкой, просто используйте вместо этого вариант Tomahawk , который имеет дополнительное значение атрибута layout , равное распространение . Вот пример подхода :

<t:selectOneRadio id="foo" value="#{bean.foo}" layout="spread">
    <f:selectItems value="#{bean.foos}" />
</t:selectOneRadio>
...
<t:radio for="foo" index="0" />
...
<t:radio for="foo" index="1" />
...
<t:radio for="foo" index="2" />
...

Начиная с JSF 2.2, это возможно даже "из коробки" с новой функцией сквозных элементов / атрибутов. Начиная с JSF 2.3 он даже стал частью стандартного набора компонентов. См. Также ao отображает элемент таблицы, как этого избежать?

В остальном, вы полностью полностью контролируете общий вывод HTML в ваших руках . Только не используйте таблицы для верстки. Т.е. не используйте HTML

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

Как применить CSS, это не так уж и сложно, каждый компонент HTML JSF имеет атрибут styleClass , в котором вы можете указать классы CSS (которые в итоге будут иметь атрибут HTML class ) и атрибут стиля style , в котором вы можете указать встроенный CSS (который в конечном итоге будет иметь атрибут HTML style ).

Вы даже можете определить глобальные стили CSS и использовать селекторы ID. Единственное, о чем вам нужно позаботиться в JSF + CSS, так это то, что к идентификаторам HTML-элементов, сгенерированным JSF, добавляются идентификаторы всех родительских NamingContainer компонентов (например, , и т. Д.) С двоеточием : в качестве разделителя. Поскольку двоеточие является недопустимым символом в идентификаторах CSS, вам необходимо экранировать его с помощью \ . Таким образом, стилизация элемента ввода, например

<h:form id="form">
    <h:inputText id="input" ... />

, который генерирует , должна выполняться как

#form\:input {
    background: gray;
}

Однако очень редко выбрать элементы ввода формы или элементы таблицы по идентификатору. Чаще должно использоваться имя класса (которое является более семантическим и лучше повторно используемым), и этого не нужно экранировать. ID обычно в любом случае используется только основными компонентами макета (заголовок, меню, содержимое, нижний колонтитул, заголовок и т. Д.), И они обычно не попадают в JSF NamingContainer .

См. Также:


Кажется, я ошибаюсь здесь, но каждое учебное пособие по JSF, которое я видел, заканчивается созданием табличных макетов HTML. Я также просмотрел демонстрации RichFaces и IceFaces, и там тоже очень много таблиц для разметки.

Начните здесь: Веб-разработка Java EE, с чего мне начать и какие навыки мне понадобятся?

22
ответ дан 30 November 2019 в 22:02
поделиться

Определенно возможно создать веб-сайт, построенный на JSF, который не использует таблицы для макета. Я не уверен, почему вы думаете, что JSF полагается на таблицы? JSF предоставляет основу для разработки страниц любого типа.

Вот еще одна ссылка, которая может оказаться полезной: http://www.ibm.com/developerworks/java/library/j-jsf1/index.html

0
ответ дан 30 November 2019 в 22:02
поделиться