仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 701|回复: 9
打印 上一主题 下一主题

[学习教程] JAVA编程:浅谈MVC框架中View层的文雅计划及实例

[复制链接]
若天明 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:14:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
有了这样一个呼声:让java代替C语言成为基本语言。这些足以说明java简单易学的这个优点。其次,java的功能强大,前面我也提到了,EJB3.0的推出使java成为了大型项目的首选。计划  在基于B/S的使用程序开辟中,从基础的手艺合作下去说就是两年夜块,一是软件显现界面,另外一个是程序逻辑。在N年前的剧本言语时期,不管是asp、php仍是jsp,我们基础是都是把这二者温和在一同的。只管我们千方百计做好良多函数大概包括文件来勉力到达软件的复用,但仍旧没法满意多变的用户需求,这次要是由于之前的纯剧本编码体例没法很好撑持及使用面向对象(OO)范畴中的壮大功效。

  在罕见的B/S软件项目中,界面的计划包含html界面、Wap界面及别的由文本字符协定为基础暗示的界面等。以我们打仗最多的html页面为例子,在做这些界面的时分常常必要美工先利用Photoshop或fireworks等图形界面计划工具举行全局计划,然后再利用举行Dreamweaver等html页面制造工具举行加工制造。而壮大的程序逻辑及背景处置都是由服务器端程序完成,这些程序具有较高的不乱性,其开辟工具如JBuilder、Eclipse等对View层的界面没法很好的撑持(固然那些用记事本写界面的使用除外),这就使得良多MVC框架的计划都没法分身齐美。

  作位一个对照友爱的MVC的框架,在简化服务器使用开辟的同时,还必要在View这一层计划上不要过量的影响到界面职员的事情,最基础的请求就是不要过量的到场一些计划软件不撑持的标签等元素(如Struts的良多标签在Dreamweaver中都不撑持)。这里我们以EasyJWeb为例,切磋在View层怎样完成对照公道的计划。

  EasyJWeb作为一个疾速JavaWebMVC框架,其计划方针不尽是要简化软件开辟职员的代码誊写事情,更是要能便利界面计划职员的事情。

  固然,要使界面能跟背景程序逻辑能交融,显现界面及程序逻辑之间必要必定的对话协定在所不免。EasyJWeb作为一个MVC框架,一样也存在着如许的对话协定,这就是EasyJWeb中的界面模板标识言语。

  在以后公布的版本中,EasyJWeb界面模板标识言语利用的是Apache开源的Velocity模板引擎(templateengine),固然今后会依据际必要到场更多的模板引擎以供框架使用者选择。

  Velocity是一个基于java的模板引擎(templateengine),它同意任何人仅仅复杂的利用模板言语(templatelanguage)来援用由java代码界说的对象。作为一个对照完美的模板引擎,Velocity的功效是对照壮大的,但壮大的同时也增添了使用庞大性。

  实际上你能够在EasyjWeb模板利用一切Velocity的剧本及功效,但我们不保举你在界面模板中利用过量过庞大的剧本表达体例,在万不得已的情形下,不要在界面模板中到场任何庞大的逻辑,更不要在界面模板中到场变量声明、逻辑运算符等等。

  在EasyJWeb中,我们供应了四条基础的模板剧本语句,基础上就可以满意一切使用模板的请求。这四条模板语句很复杂,能够间接由界面计划职员来增加。在以后良多EasyJWeb的使用理论中,我们看到,一切界面模板中归结起来只要上面四种复杂模板剧本语句便可完成:

  1、$!obj 间接前往对象了局。
  
  如:在html标签中显现java对象msg的值。

$!msg

  在html标签中显现经由HtmlUtil对象处置事后的msg对象的值。

$!HtmlUtil.doSomething($!msg)

  2、#if($!obj)#else#end判别语句

  如:在EasyJWeb各类开源使用中,我们常常看到的用于弹出提醒信息msg的例子。

  #if($msg)
  <script>
  alert($!msg);
  </script>
  #end

  下面的剧本暗示当对象msg对象存在时,输入<script>等前面的内容。

  3、#foreach($infoin$list)$info.something#end  轮回读取汇合list中的对象,并作响应的处置。
  
  如:EasyJF开源论坛体系中论坛首页显现抢手主题的html界面模板剧本

  #foreach($infoin$hotList1)
<ahref="/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))
  <imgsrc="http://www.webjx.com/images/ico/${orderType}.gif">
  #end
  #end

  详细的挪用如:

<fontcolor="#FFFFFF">头衔#orderPic("title")</font>

  总结: 

  固然,在实践使用项目中,为了完成界面的加倍友爱、人道化,会呈现良多复、易变的需求。如依据对象的分歧形态,显现分歧的提醒色彩、提醒语音等功效。在这类时分,仍旧要慎用太多的模板剧本功效,年夜多半需求都能够经由过程变通的体例办理,有些信息能够间接在对象中增添逻辑转化信息,有些界面请求能够经由过程在界面中利用与特定界面有关的表达体例来完成,如html页面中利用javascript、CSS,Wap页面中利用WMLScript等等。只要,如许才干确包管你的体系中心不受界面的的影响及把持,才干更好的扩大及保护。

  我们但愿你能成为真实的程序妙手,而不但是精晓某个处于表层的剧本言语,因而也不但愿宽大Java开辟职员在View层损耗太多的工夫。
最后就是我对java的几点希望:首先是IDE工具,有人说java已经很好了,有jbuilder,eclipse,netBeans等等,但是我认为如果java想超越.net,那么他首先要解决的就是IDE工具的整合。
再现理想 该用户已被删除
沙发
发表于 2015-1-20 18:25:34 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
愤怒的大鸟 该用户已被删除
板凳
发表于 2015-1-29 14:18:17 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
第二个灵魂 该用户已被删除
地板
发表于 2015-2-3 15:03:26 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
海妖 该用户已被删除
5#
发表于 2015-2-9 03:32:19 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
分手快乐 该用户已被删除
6#
发表于 2015-2-26 20:30:07 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
山那边是海 该用户已被删除
7#
发表于 2015-3-8 17:18:01 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
柔情似水 该用户已被删除
8#
发表于 2015-3-11 21:18:06 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
飘飘悠悠 该用户已被删除
9#
发表于 2015-3-19 13:39:05 | 只看该作者
是一种为 Internet发展的计算机语言
若相依 该用户已被删除
10#
发表于 2015-3-28 05:03:43 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-10 15:40

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表