Apache Click — вебфреймворк з відкритим кодом що використовує мову Java та базується на Java Servlet API.
Проєкт розповсюджується під ліцензією Apache License та потребує для роботи JDK(починаючи з версії 1.5).
Click отримав статус первинного проєкту у листопаді 2009, але пізніше був перенесений до репозиторію застарілих проєктів Apache Attic у травні 2014.
Основними аспектами дизайну є: простота, легкість у використанні, продуктивність та масштабованість. Це досягається завдяки інтуїтивному інтерфейсу.
Сторінки та компоненти забезпечують гарну інкапсуляцію веб розробки та швидке створення додатків.
Доки сторінки та компоненти розроблюються на Java, шаблони можуть бути написані з використанням Apache Velocity, FreeMarker або Java Server Pages. Також компоненти дають можливість розробникам позбутись надлишкового коду.
Головною різницею між Click та іншими компонентно-орієнтованими вебфреймворками є відсутність використання пам'яті при роботі з дизайном і підтримка сторінок що її використовуватимуть в один час.
Існує декілька інших компонентно-орієнтованих фреймворків доступних для Java: JavaServer Faces, Apache Tapestry, WebObjects, Apache Wicket та Vaadin.
Деякі розробники надають перевагу більш традиційним фреймворкам на MVC моделі: Apache Struts, Spring Framework чи інші.
Звичайний Hello World з чотирьох файлів:
Шаблоном для Click є Velocity, htm файл буде подібний до звичайної HTML сторінки.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <body> <p>$message</p> </body> </html>
package org.wikipedia.click; import org.apache.click.Page; public class HelloWorld extends Page { /** * Constructor */ public HelloWorld() { // Add the value to the map ("message" = "$message") addModel("message", "Hello World!"); } }
click.xml
HelloWorld
hello-world.htm
org.wikipedia.click
org.wikipedia.click.HelloWorld
ClickServlet
/WEB-INF/click.xml
<?xml version="1.0" encoding="UTF-8"?> <click-app> <pages package="org.wikipedia.click"/> </click-app>
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>Click Example</display-name> <servlet> <servlet-name>click-servlet</servlet-name> <servlet-class>org.apache.click.ClickServlet</servlet-class> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>click-servlet</servlet-name> <url-pattern>*.htm</url-pattern> </servlet-mapping> </web-app>
{{cite web}}
Lokasi Pengunjung: 3.144.7.73