本话题讨论Click的设计原理和Click背后的原理,并希望阐明为什么
部分人选择了Click作为他们的web开发框架。
Click是一款时兴的JEEweb应用框架, 提供了一种简单的富客户端程序设计
风格。 click包含的主要特征如下:
简单易学
click被设计的很简单以便于学习, 新开发者在一天内就可上手并运行
出来。 这对技术层次跨度很大的开发团队是非常关键的。
向开发团队介绍Tapestry (2.3)时,我的经历是, Tapestry (2.3)非常复杂,
一般的程序员不容易学习。我曾经介绍使用Tapestry 的两个团队最终都放弃
了使用Tapestry ,返回继续使用Struts。
Click比struts容易学习很多。Struts框架, 本质上使用了简化的命令
模式设计思想,包含很多费解并容易使人糊涂的设计。
为了便于学习, click作为开源的框架有着丰富的文档,并包含了很多
可以运行的例子。
面向控件和页面设计
如果你曾经使用Swing, VB 或 Delphi 做过经典的GUI编程, 你会发现
JEE web设计中存在一些非常严重的错误。JEE web设计运行非常缓慢,复杂,
并有很多错误。
作为最早的JEE web设计框架之一的Struts提供了一种基于命令的设计
模式和一组jsp标签。不幸的是, 使用Struts你需将URLs映射到Actions,
还需使用ActionForms,这些特点本质上并没有为你的程序开发起到明显的
杠杆作用。
Tapestry 也是一款JEE web 框架, 它较早的引用了组件, 页面和基于编程
模型的事件等概念。 它较大的提高了生产率, 这也是当我们遇到开发桌面
应用需求常用的替代方案。
click的设计思路就是借鉴这种基于页面和组件的设计方法, 并使它变的更
更容易使用。
click提供了一种面向页面的设计,控件元件特征和基于编程的事件模型。
click包含40种左右的控件, 这些控件对应了大部分主要的HMTL元素。
click表单和控件提供了自动验证和页面呈现,使程序开发变得更加快速和
健壮。
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的首选。
请注意click的模板服务是可插入式, 你同样可以使用Freemarker或jsp在click中
呈现你个页面。
值得一提的是, 近年来jsp2.0及jsp El表达式也大大提高了jsp的可用性。
分享到:
相关推荐
在当前的数字化时代,人工智能(AI)已经成为各个领域创新的核心驱动力,特别是在视频制作领域。...随着技术的不断成熟,我们有理由相信,AI将在视频内容创作方面发挥更大的作用,为我们的生活带来更多精彩的视觉体验。
选择器是jQuery的基础,它们允许开发者高效地选取页面上的元素,如ID选择器、类选择器和属性选择器等。DOM(Document Object Model)操作则涵盖了对HTML结构的增删改查,例如找到特定元素、添加新的HTML内容或者修改...
4. **事件处理**:jQuery简化了事件处理,`$(selector).click(function() {...})`定义了点击事件的处理函数,`$(selector).on("event", function() {...})`则是通用的事件绑定方法,可以处理多种事件。 5. **动画...
以下是一些理由: - **性能优势**:`delegate()`避免了在`document`级别进行全局事件监听,减少了不必要的事件处理开销,尤其是在大型应用中。 - **具体上下文**:`delegate()`允许你限制事件处理的范围,仅在特定...
- **事件处理**:`.click()`、`.hover()`等。 ### Django创始人:从技术工艺上考量jQuery 虽然这部分内容并未详细介绍Django创始人对jQuery的具体评价,但从上下文可以推测,这里可能会讨论jQuery作为一款成熟的...
- **选择理由**: - Visual Basic 6.0:拥有丰富的控件资源,易于创建用户界面;同时,它提供了强大的数据库访问功能,能够与多种数据库进行交互。 - Access 2003:是Microsoft Office套件的一部分,适合小型应用...
3. 技术选型:解释为什么选择VB作为开发工具,以及数据库的选择理由。 4. 功能实现:详细说明每个模块的实现方式,可能包括关键算法或逻辑。 5. 系统界面:展示系统的用户界面设计,强调其友好性和易用性。 6. 测试...
此外,还有`.click()`, `.mouseover()`, `.mouseout()`等简化的事件处理函数。 3. **Ajax**:jQuery的Ajax功能强大且易于使用,`$.ajax()`, `.get()`, `.post()`等方法使得异步数据交互变得轻而易举。在2.0.0版本中...
Private Sub CloseButton_Click(sender As Object, e As EventArgs) Handles CloseButton.Click Me.Close() End Sub ``` 这里,`CloseButton`是自定义关闭按钮的名称,`Me.Close()`是关闭窗体的命令。 6. 为了...
### input框,带删除按钮,并且可以存储多选的文件 在现代Web开发中,实现一个功能丰富的输入框是提高...未来随着Web技术的不断发展,我们有理由相信会有更多新颖的输入框设计方法出现,以满足不断变化的用户需求。
- **选择理由**:Visual Basic 6.0是一款简单易用且功能强大的编程语言,适合快速开发图形用户界面应用程序;Access 2003则是一款非常流行的桌面数据库软件,可以方便地进行数据存储和管理。 #### 四、系统设计与...
利用鼠标事件,如Click和MouseMove,可以实现动态绘制和选择,实现交互性。 4. **几何建模**:CAD系统的核心功能之一是几何建模,这通常涉及线段、圆、弧等基本形状的组合与操作。在VB中,可以使用数学函数和算法来...
简要说明每个情况的理由。 总转化率和净转化率都使用cookie的数量作为分母,cookie是转移的单位,也是分析单位,所以这两个度量的分析估计与经验变异是类似的,而留存率是以完成登录的用户ID的数量作为分母,与转移...
要向状态栏添加状态项,可从工具箱中选择`ToolStripStatusLabel`控件,并将其拖放到`StatusStrip`上。每个状态项都可以通过代码或设计界面设置文本、图标和宽度。 ```csharp ToolStripStatusLabel statusItem = ...
尽管目前需要使用适配器来兼容旧有的接口,但这只是过渡时期的解决方案,随着技术的发展,我们有理由相信USB Type-C将成为主流。 总的来说,全新Macbook苹果电脑通过全新的键盘和触控板设计,以及集成度极高的USB ...
网站规划是编辑工作的起点,包括明确网站的目标定位(即网站存在的理由、对用户的含义),了解竞争对手,提出有效的规划提案。编辑需要确保网站的内容和设计能够满足目标受众的需求。 网站设计遵循一系列原则。比如...
1. **鼠标事件**:VB中的鼠标事件主要包括Click、DoubleClick、MouseDown、MouseUp等。在这里,我们需要关注的是`MouseDown`事件,因为它能检测到用户何时按下鼠标按钮。 2. **`MouseDown`事件**:当用户按下鼠标...
1 .问题描述: 快速点击会出现,重复触发事件,像后台发起多次请求,此时后台极端=短时间内多次请求,会出现并发问题,数据脏读 2.问题分析 :查看layerUI的API发现,系统的confirm是线程阻塞的,而layer.confirm...
在VB人口登记管理系统中,开题报告可能详细讨论了当前人口管理存在的问题,如何通过信息技术改进这些问题,以及选择VB作为开发工具的理由和其优势。 答辩PPT则是对整个项目进行总结和展示的工具,通常包含项目简介...
此外,Windows 10 及更高版本操作系统提供了“隐藏的进程”功能,用户可以在任务管理器的设置中选择隐藏这些进程。虽然这不是开发者的控制范围,但了解这一点有助于理解进程显示的逻辑。 总的来说,不让 Delphi ...