Apache Click
Apache Software Foundation | |
Final release | 2.3.0
/ March 27, 2011[1] |
---|---|
Repository | |
Written in | Apache License 2.0 |
Website | click |
Apache Click is a page and component oriented
It is a free and
Click was initially created by Malcolm Edgar as the click.sourceforce.net project in 2003. The project then graduated to an
Overview
The main design goals are simplicity, ease of use, performance and scalability. To achieve these goals Click leverages an intuitive page and component oriented design.
Pages and components provide good encapsulation of web concepts and enables rapid application development.
Click takes a pragmatic approach and expose few abstractions to learn and understand. The
Pages and components are developed in
A major difference between Click and other component oriented web frameworks is that Click is stateless by design, although stateful pages are supported.
Competing frameworks
There are a number of other component oriented frameworks available for Java such as
.Some developers prefer the more traditional action-based web frameworks including
Example
A Hello World Click application, with four files:
- hello-world.htm
- The default template engine for Click is Velocity, the htm file will be similar to a normal, static HTML page.
<!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>
- HelloWorld.java
- The page model that will be bound to the template.
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
- The heart of a Click application is the
click.xml
configuration file. This file specifies the application pages, headers, the format object and the applications mode. - Click is smart enough to figure out that the
HelloWorld
page class maps to the templatehello-world.htm
. We only have to inform Click of the package of theHelloWorld
class, in this caseorg.wikipedia.click
. We do that through theclick.xml
configuration file which allows Click to maphello-world.htm
requests to theorg.wikipedia.click.HelloWorld
page class. - By default the
ClickServlet
will attempt to load the application configuration file using the path:/WEB-INF/click.xml
<?xml version="1.0" encoding="UTF-8"?>
<click-app>
<pages package="org.wikipedia.click"/>
</click-app>
- web.xml
- The servletapplication definition.
<?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>
Bibliography
- Daoud, Frederic (January 4, 2010). Getting Started With Apache Click (1st ed.). p. 150. Archived from the original on January 14, 2010. Retrieved January 5, 2010.
See also
References
- ^ http://click.apache.org/
- ^ "Apache Attic - Apache Attic". Retrieved 17 June 2014.