Facelets
Тип Веб-фреймворк
Написана на Java
Операционная система Кроссплатформенное ПО
Последняя версия 1.1.15 (24 ноября 2009)
Тестовая версия 1.2-dev (10 ноября 2009)
Лицензия Apache License 2.0
Сайт facelets.java.net

Facelets — открытый веб-фреймворк, распространяемый под лицензией Apache license. Технология управления представлением для JavaServer Faces (JSF), альтернатива технологии JavaServer Pages (JSP). Фреймворк требует для функционирования валидные XML документы. Это означает, что веб-страницы должны быть созданы с использованием языка разметки XHTML. Facelets поддерживает все компоненты JSF и создаёт собственное дерево компонент, отражая view (см. MVC) для JSF-приложения. В Facelets полностью устранена широко известная проблема смешанного контента, присущая JavaServer Pages.

Пример

править

Данный пример иллюстрирует использование XHTML шаблона для задания алиасов компонент. Атрибут jsfc используется для указания JSF-компонента, на который будет заменён соответствующий тег при компиляции. Аналогичный подход используется в Tapestry с использованием атрибута jwcid. Facelets гораздо проще Apache Tiles[англ.] и поддерживает шаблонизацию страниц так же хорошо как и композицию. Версия JavaServer Faces 2.0 подверглась большому влиянию со стороны Facelets, ожидается что Facelets станет частью стандарта JSR 314[1].

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 
Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html">
 <body>
  <form jsfc="h:form">
   <span jsfc="h:outputText" value="Willkommen #{loggedInUser.name}" 
   disabled="#{empty loggedInUser}" />
   <input type="text" jsfc="h:inputText" value="#{bean.property}" />
   <input type="submit" jsfc="h:commandButton" value="OK" action="#{bean.doSomething}" /> 
  </form>
 </body>
</html>

Приведённый выше код может быть просмотрен в браузере и отредактирован с помощью WYSIWYG инструментов. Это невозможно для стандартных страниц JSF 1.2. Соответствующий код JSF страницы приведён ниже для сравнения.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 
Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html">
 <body>
  <h:form>
   <h:outputText value="Willkommen #{loggedInUser.name}" disabled="#{empty loggedInUser}" />
   <h:inputText value="#{bean.property}" />
   <h:commandButton value="OK" action="#{bean.doSomething}" /> 
  </h:form>
 </body>
</html>

Примечания

править
  1. JSR 314  (англ.)

Литература

править
  • Zubin Wadia, Martin Marinschek, Hazem Saleh, Dennis Byrne. The Definitive Guide to Apache MyFaces and Facelets. — 1st. — Apress, September 22, 2008. — P. 400. — ISBN 978-1590597378. — [Архивировано 2 января 2010 года.]
  • Zubin Wadia, Bruno Aranda. Facelets Essentials: Guide to JavaServer Faces View Definition Framework. — 1st. — Apress, May 26, 2008. — P. 84. — ISBN 978-1430210498. — [Архивировано 8 января 2010 года.]
  • Robert Swarr. Facelets. — 1st. — O'Reilly Media, June 2009. — P. 101. — ISBN 978-0-596-55927-4, 0-596-55927-5.

Ссылки

править

📚 Artikel Terkait di Wikipedia

Tkinter

button_clicked(): print("Hello World!") def close(): root.destroy() root.quit() button = Button(root, text="Press Me", command=button_clicked) button

Curl (язык программирования)

Curl выполняет обратные вызовы в том же стиле, что принят в Groovy: {CommandButton width=100pt, height = 50pt, label = {center {bold Invokes an event handler

HTML Application

Msgbox "Hello, world!!!" End Sub </script> <input type="button" value="Run Script" name="run_button" onClick="TestSub()"> </body> </html> Приложение отображает

Письма последней надежды

Однако в декабре 2008 года в передаче «Человекокнопка» (англ. The Human Button), вышедшей на BBC Radio 4, было озвучено, что премьер-министр всегда выбирает

RichFaces

0 это не является обязательным. AJAX Action Components — AjaxCommandButton, AjaxCommandLink, AjaxPoll, AjaxSupport и другие компоненты могут использоваться

Стирание типа

value; ServerCommand(Concept* v) : value(v) {} }; int main() { std::vector<ServerCommand> commands; commands.push_back(ServerCommand::make<PrintInt>(42));

Война в Афганистане (2001—2021)

Дата обращения: 23 декабря 2007. Архивировано 9 мая 2008 года. Joseph Button. Increased Security Amidst a Mounting Insurgency: A close look at the Afghan

Tor

Bundle[нем.] —содержит модифицированный браузер Firefox, так называемый TorButton и панель управления под названием Vidalia[англ.]. Тестирование соединения