Apache Click 介绍
来源:互联网 发布:淘宝新手怎么找货源 编辑:程序博客网 时间:2024/05/13 13:38
为什么是要Click
在这里我将介绍一下Click背后设计思想和原理,希望能解释为什么要重建一个JAVA的WEB应用框架。
Click是一个最新式的JEE的WEB应用框架,提供了一个丰富客户端风格的程序模型。包括以下的关键功能:
1. 入门简单
Click是设计时就考虑如何简单且易学,所以新手可以在一天内就可以上手了。这点对商业开发的团队很重要的。所以,Click提供了大量的例子和文档。
2. 面向组件与页面的设计
如果用Swing、 VB或Delphi做过传统界面程序,你会发现在JEE中没有如此的快速开发环境。JEE的开发是比较慢的、复杂的、容易出错的。
第一代的WEB应用框架Struts,提供一个基于Command的设计模式和一套JSP的标签库。Struts需要你将URLs映射到Actions上面,并且要使用ActionForms来传递数据。这样的话,并不能给你很好的效率。Tapestry是第一个基于组件的JEE的WEB应用框架,带来了一套组件继承、页面、基于事件的编程模型。这是一个高效的开发模型,也是能开发出我们期望的GUI界面。
Click也是采纳了基于组件设计的方法,而且进行了优化,从而更加易用。它提供了一个面向页面的设计模式、基于组件与事件的编程模型。Click包括了40多个开盒即用的组件,对应了HTML中主要的元素。这样使得编程很简单了。Click的 Forms与组件提供了自动化的验证和展现,使得FORM的开发快速且健壮。
3. 自由的JSP&MVC
MVC是一个桌面GUI的设计模式,它在设计中引入多外角以,MODEL是数据模型,VIEW是展现模型,完成数据的展现,CONTROL是控制数据的修改。现在MVC是非常成熟的UI模式,用于解决那些单一数据模型与控制、多展现视图的问题。
但是对大多数的UI开发,MVC是过度设计的。CONTROL与VIEW通常是指同一东西。例如:选择框是一个集VIEW、CONTROL、MODEL与一体的东西。在SWING的设计中MVC通常隐藏在表现层下面。在VB、DELPHI中就根本没有提过MVC。在以前,JEE的非常期望一套WEB设计模式。MVC在早期的Servlet/JSP 设计中使用了,并且称之为MVC。在以前的模式中DAO是被用作MODEL,JSP作为VIEW,SERVLET被用作CONTROL。这样UI中的角色被严格地分开了,也限制了设计思想的改进。
CLICK是的组件是集合VIEW与CONTROL的功能。下面我们用ActionLink组件来解释了一下这两者之间的区别。
public class ExamplePage extends Page {
@Bindable public ActionLink myLink = new ActionLink(this, "onClick");
public boolean onClick() {
System.out.println("onClick invoked");
return true;
}
}
我们将myLink的ActionLink组件放入HTML的页面模板中:
<a href="$myLink.href">Click Me</a>
在运行时,组件的Href的属性值表现为:
<a href="/mycorp/example-page.htm?actionLink=myLink">Click Me</a>
If the user clicks the link, the ActionLink control invokes the Page's onClick() method.
当前用点击这个链接时,ActionLink的组件将会调用页面上的OnClick()方法。
Conversely with the JSP MVC architecture a JSP can tell you something, but it can't understand what it has just said. Think about this for a second. There is no single UI component that is taking responsibility for its own actions. Guess where the responsibility then falls to...
与JSP MVC的架构对比,JSP可以告诉你一些信息,但是它不是如何处理这些信息。仔细思考一下,没有发现UI组件可以负责处理他自己的行为,那么应由谁来负责处理呢?那么你要将多个东西组合起来才能处理这个动作。在STRUTS中,你就要完成以下工作:
· 编写一个自定义的ACTION类
· 编写一个自定义的ACTIONFORM类
· 在struts-config.xml 文件中配置一个ACTION
· 在struts-config.xml 文件中配置一个FORM-BEAN
· 在validation.xml 中配置一个FORM元素
· 在validation.xml 中配置字段的验证规则
· 检查所有的配置是否正确: action, form-bean, form, field
· 在JSP中设置要用到的tag Lib
· 在JSP使用 <htm:form> and <html>
这样在开发大型应用系统时,就会变得很庞大、单调、易出错的任务。
在MVC设计的另一个方面,就是将逻辑从JAVA代码转换成了XML配置文件。Tapestry 与 Spring MVC也扩展地使用了XML。这样将导致编译时应发现的错误延期到运行时才发现了。而且,管理一大堆XML配置文件要比管理一大堆JAVA代码困难的多。JAVA IDE的工具可比XML的管理工具好用的。
Click也可以让你使用面向对象的原则,比如:用继承的方法来扩展其它组件,或者聚合多个组件变成一个更强大的UI组件。例:CreditCardField是继承TextField的,并且有一个选择框来指定卡片的类型。
4. Velocity
Click使用Velocity的模板引擎来绘制HTML,Velocity有一套简洁的指令集,非常易学易用。例如下面的模板中:
#if (!$session.order.lineItems.empty)
<table>
<tr>
<th>Name</th> <th>Quantity</th> <th>Total Price</th>
</tr>
#foreach ($lineItem in $session.order.lineItems)
<tr>
<td>$lineItem.name</td>
<td>$lineItem.quantity</td>
<td>$lineItem.totalPrice</td>
</tr>
#end
</table>
#else
No items have been ordered.
#end
正是因为Velocity的易用性,Click才选择了Velocity,也实现了Velocity的自动化配置。当然Click是基于可插拔式的,也可以使用Freemaker或者JSPs来做为展现层的。
- Apache Click 介绍
- apache Click框架入门
- apache Click框架入门
- Apache Click 这个项目
- Apache Click 框架入门
- click绑定事件介绍
- Apache Click 简单配置运行
- Apache Click框架不错啊
- [Apache Click快速开发]Click的组件(一)
- [Apache Click快速开发]Click的多彩table组件
- Apache Click Framework --- 试用报告(一)
- [Apache Click快速开发]Page生命周期
- [Apache Click快速开发]Panel和Tree
- $("").click与onclick的区别示例介绍
- $("").click与onclick的区别示例介绍
- Apache介绍
- Apache 介绍
- Apache介绍
- 一个创业失败的大学生亲身总结11条原因
- SQL 字串分割函数
- netstat -ano,查看已占用端口,结束已被占用的端口,ntsd,关闭任务管理器杀不了的进程
- 线程
- 基于Curl的RIA系统开发入门(一)
- Apache Click 介绍
- Exact CRM系统助企业高效管理客户资料
- JS 验证方法
- 开始进入java大军!
- 在基于Form验证的SharePoint网站中实现用户口令过期策略
- 基于Curl的RIA系统开发入门(二)
- 中英编程对照表
- 例解 autoconf 和 automake 生成 Makefile 文件
- 卡巴斯基上海代理