Ответ 1
Это легче понять, если вы сначала изучите базовый HTML. JSF находится в контексте этого вопроса, а именно просто генератор кода HTML. Там отличный HTML-учебник на htmldog.com. <label>
, созданный <h:outputLabel>
, объясняется здесь.
HTML-тег: label
Ярлык для элемента формы (
input
,textarea
илиselect
).Дополнительные атрибуты
for
может использоваться для связывания метки с элементом формы, когда значениеfor
соответствует значению атрибута элементаid
.Пример
<label for="email">Email address</label>
<input type="text" name="email" id="email" />
Таким образом, атрибут for
должен указывать на id
входного компонента, метка предназначена для маркировки. Метка имеет следующие преимущества SEO и удобства использования:
- Он сообщает в тексте о связанном элементе ввода.
- Он фокусирует и активирует связанный элемент ввода при фокусировке/нажатии на себя.
Как JSF в контексте этого вопроса просто генератор кода HTML, то же самое относится к компонентам JSF, генерирующим этот HTML.
<h:outputLabel for="email">Email address</h:outputLabel>
<h:inputText id="email" />
Поисковые роботы найдут метку и индексируют связанный элемент ввода как таковой. Экранные инструменты, используемые людьми с визуальным открытием, найдут ярлык и скажут его содержимое по звуку. Конечные пользователи могут щелкнуть метку, чтобы увидеть, как связанный вход становится сфокусированным. При нажатии на ярлык будут выбраны флажки/радиокнопки. Ввод файлов откроет диалоговое окно просмотра, щелкнув метку. Etcetera.
Следует отметить, что относительно много низкокачественных обучающих программ JSF злоупотребляют <h:outputLabel>
с единственной целью распечатать некоторый текст Hello World, например:
<h:outputLabel value="#{bean.message}" />
В этом конкретном случае использования неверно. Вместо этого следует использовать <h:outputText>
:
<h:outputText value="#{bean.message}" />
Или даже просто EL в тексте шаблона:
#{bean.message}
Если вы когда-либо сталкивались с таким учебником, который злоупотреблял <h:outputLabel>
таким образом, он настоятельно рекомендовал прекратить его читать и перейти к более уважаемому пользователю ресурсу. Это сильное указание на то, что автор учебника ничего не знает об основном HTML, а это, в свою очередь, является довольно важной предпосылкой, прежде чем изучать JSF. Тот, кто почти ничего не знает о базовом HTML, не является хорошим учителем JSF. Вы никогда не знаете, продолжает ли такой низкокачественный учебный ресурс нисходящая спираль обучения плохой практике, и поэтому лучше перейти к другому. Вы можете найти разумные ресурсы, связанные внизу нашей страницы вики JSF и jsf.zeef.com.