B/S操纵开辟中代码与视图模板别离本领[Java编程]
本文“B/S操纵开辟中代码与视图模板别离本领[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
需求什么样的mvc
在基于B/S的利用程序开辟中,从基本的技术分工上来说就是两大块,一是软件显示界面,另一个是程序逻辑.在N年前的脚本语言时代,无论是asp、php还是jsp,我们基本是都是把这二者暖和在一同的.固然我们千方百计做好很多函数大概包含文件来勤奋到达软件的复用,但仍旧无法满意多变的用户需求,这主如果因为从前的纯脚本编码方法无法很好支持及利用面向对象(OO)范畴中的强盛功效.
在常见的B/S软件项目中,界面的计划包含html界面、Wap界面及别的由文本字符协议为基本表示的界面等.以我们接触最多的html页面为例子,在做这些界面的时刻常常需求美工先利用photoshop或fireworks等图形界面计划工具举行全局计划,然后再利用举行Dreamweaver等html页面制作工具举行加工制作.而强盛的程序逻辑及后台处理都是由服务器端程序完成,这些程序具有较高的安定性,其开辟工具如JBuilder、Eclipse等对View层的界面无法很好的支持(当然那些用记事本写界面的利用除外),这就使得很多MVC框架的计划都无法两全齐美.
随着Struts等MVC框架的连续呈现及利用,我们的视图层变得越来越简单.但是,仍旧不时需求在页面中插入Java代码,比方另人讨厌的@< import>.这些MVC框架大多供应了一系列的自定义标签,当自定义标签越来越复杂的时刻,关于程序员简单的同时,却把咱们的美工及页面制作人员给吓坏了.
页面及程序若何别离
EasyJWeb作为一个快速Java Web MVC框架,其计划目标不尽是要简化软件开辟人员的代码书写工作,更是要能便利界面计划人员的工作.EasyJWeb通过基于模板的方法,成立在强盛而简单的模板引擎Velocity底子上,并对Velocity作了一定的扩大.
Velocity是一个基于java的模板引擎(template engine),它答应任何人仅仅简单的利用模板语言(template language)来引用由java代码定义的对象.作为一个对比完善的模板引擎,Velocity的功效是对比强盛的,但强盛的同时也增添了利用复杂性.
理论上你可以在EasyjWeb模板利用全部Velocity的脚本及功效,但我们不举荐你在界面模板中利用过量过复杂的脚本表达方法,在万不得已的情形下,不要在界面模板中加入任何复杂的逻辑,更不要在界面模板中加入变量声明、逻辑运算符等等.
在EasyJWeb中,我们供应了四条基本的模板脚本语句,基本上就可以满意全部利用模板的要求.这四条模板语句很简单,可以直接由界面计划人员来增添.在当前很多EasyJWeb的利用实践中,我们看到,全部界面模板中归纳起来只有下面五种简单模板脚本语句便可实现:
1、$!obj 直接返回对象后果.
2、#if($!obj) #else #end 判断语句
3、#foreach( $info in $list) $info.someList #end 循环读取调集list中的对象,并作呼应的处理.
4、#macro(macroName)#end 脚本函数(宏)调用,不举荐在界面模板中大量利用.
5、包含文件#include("模板文件名")或#parse("模板文件名")
EasyJWeb别的供应了很多工具类,通过这些工具类可以大大简化模板的书写.比方CommUtil中的toRowChildList,TagUtil中的options等.
通过利用Velocity模板脚本,可以使得视图中除了与数据显示有关的内容以外,不再有别的任何与特定语言相关的标志或标记.由于Velocity模板对界面不具有任何破坏性,因此就算增添了一系列的模板标志后,美工及页面制作人员不用作任何额外的特别处理,就可以看到纯自然的界面视图.别的还能通过半小时就可以学会理解Velocity脚本的用法,按照客户的审美好、习惯乃至心情机动的更改系统界面.
便利他人便是便利自己
EasyJWeb之所以倡导页面模板及程序别离,一个重要缘由就是约束程序员.给他人便利就等于给自己便利,EasyJWeb中包含了这样的生活哲学.因此,作为程序员,接触一段时间EasyJWeb后,你会发现除了让视图界面的人员便利的以外,EasyJWeb最主要关照的还是咱们这些审美好常常被批判,最讨厌那些乱七八糟的html代码,css款式以及得了图片惊骇症的程序员.因此,EasyJWeb让程序员非常轻松与视图层的内容打交道.比方要把一个对象发送给视图层,只需求在Action中利用form.addResult(“name”,obj)便可,要把一个对象分成各属性发送给视图层,可以直接利用form.addPo(obj)办法便可;要从视图层表单中读取数据到对象中,只需求form.toPo(obj)便可;EasyJWeb为了处理了数据转换、考证、数据保护等诸多细节.
以上是“B/S操纵开辟中代码与视图模板别离本领[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |