EasyJWeb作为一个快速Java Web MVC框架,其设计目标不尽是要简化软件开发人员的代码书写工作,更是要能方便界面设计人员的工作。

作位一个比较友好的MVC的框架,在简化服务器应用开发的同时,还需要在View这一层设计上不要过多的影响到界面人员的工作,最基本的要求就是不要过多的加入一些设计软件不支持的标签等元素(如Struts的很多标签在Dreamweaver中都不支持)。这里我们以EasyJWeb为例,探讨在View层如何实现比较合理的设计。
 
  EasyJWeb作为一个快速Java Web MVC框架,其设计目标不尽是要简化软件开发人员的代码书写工作,更是要能方便界面设计人员的工作。
 
  当然,要使界面能跟后台程序逻辑能融合,显示界面及程序逻辑之间需要一定的对话协议在所难免。EasyJWeb作为一个MVC框架,同样也存在着这样的对话协议,这就是EasyJWeb中的界面模板标识语言。
 
  在当前发布的版本中,EasyJWeb界面模板标识语言使用的是Apache开源的Velocity模板引擎(template engine),当然以后会根据际需要加入更多的模板引擎以供框架应用者选择。
 
  Velocity是一个基于java的模板引擎(template engine),它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。作为一个比较完善的模板引擎,Velocity的功能是比较强大的,但强大的同时也增加了应用复杂性。
 
  理论上你可以在EasyjWeb模板使用所有Velocity的脚本及功能,但我们不推荐你在界面模板中使用过多过复杂的脚本表达方式,在万不得已的情况下,不要在界面模板中加入任何复杂的逻辑,更不要在界面模板中加入变量声明、逻辑运算符等等。
 
  在EasyJWeb中,我们提供了四条基本的模板脚本语句,基本上就能满足所有应用模板的要求。这四条模板语句很简单,可以直接由界面设计人员来添加。在当前很多EasyJWeb的应用实践中,我们看到,所有界面模板中归纳起来只有下面四种简单模板脚本语句即可实现:
 
  1、$!obj  直接返回对象结果。
  
  如:在html标签中显示java对象msg的值。<p>$!msg</p>
    在html标签中显示经过HtmlUtil对象处理过后的msg对象的值.<p>$!HtmlUtil.doSomething($!msg)</p>
 
  2、#if($!obj) #else #end 判断语句
 
  如:在EasyJWeb各种开源应用中,我们经常看到的用于弹出提示信息msg的例子。
  #if($msg)
  <script>
  alert('$!msg');
  </script>
  #end
   上面的脚本表示当对象msg对象存在时,输出<script>等后面的内容。
 
  3、#foreach( $info in $list) $info.something #end  循环读取集合list中的对象,并作相应的处理。
  
  如:EasyJF开源论坛系统中论坛首页显示热门主题的html界面模板脚本
 
   #foreach( $info in $hotList1)                 
      <a href="/bbsdoc.ejf?easyJWebCommand=show&&cid=$!info.cid" target="_blank">$!info.title</a><br>
   #end      
  上面的脚本表示循环遍历hotList1集合中的对象,并输出对象的相关内容。
  
  4、#macro(macroName)#end 脚本函数(宏)调用,不推荐在界面模板中大量使用。
 
  如:在EasyJF简易订销管等系统中经常看到的一个排序状态显示的模板内容。
  函数(宏)定义,一般放在最前面
  #macro(orderPic $type)
  #if ($orderField.equals($type))
  <img src="/images/ico/${orderType}.gif"> 
  #end
  #end
 
   具体的调用如:<font color="#FFFFFF">头衔#orderPic("title")</font> 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值