其实,在学习网站开发过程中,其实不掌握ONGL也是可以的。我们完全可以使用JSTL和EL来代替OGNL。

  只要存在要往页面传输内容,我们直接把对象放在request范围即可,这样我们就可以在jsp中使用EL取出该值。

  如果我们需要在页面中生成一个集合,要判断某个对象是否在集合中,或者要调用对象的方法,这时候我们就可以使用ONGL。但是我们遇到的这种需求是比较少的,我们可以使用灵活的方法去解决这个问题。

  这样,JSTL和EL已经能够满足我们的需要,而且JSTL是sun公司的规范技术。

  如果你以前做了一些使用了jstl的模块,假设你现在要做一个新的项目,并且存在跟之前项目功能相似的模块,这时候你可以复制之前jstl的代码,改一改基本就可以使用了。如果说,之前的项目是用SSH做的,用的是OGNL,现在要做的项目必须采用springMVC + spring + mybatis来实现,那么之前写的代码就不能复制过来使用了。也就是说,使用sun公司的规范技术,更具有通用性。

  

  毕竟大部分程序员都能够掌握jstl,如果说有一个程序员对struts2不了解,又临时得调到struts2工作组里面,若页面使用的是JSTL和EL表达式来完成,那么基本也没什么问题。但是如果使用OGNL,那么这位同事估计要一段时间来适应,不知道怎么使用,也就是说段时间不能干活的。

  如果OGNL没有了解深入,使用起来也困难。

  因此,鉴于JSTL和EL表达式基本上能够完成OGNL的功能,加上OGNL的难度稍大,我认为,即使不会使用OGNL也不成大问题。当然,萝卜青菜各有所爱,有的项目经理喜欢用ognl,我们也无法避免,了解是一种好事,否则“书到用时方恨少”就坏了。

到底该不该熟悉掌握struts2的ONGL呢?的更多相关文章

  1. Struts2笔记——ONGL表达式语言

    OGNL是ObjectGraphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目. Struts 2框架使用OGNL作为默认的表达式语言. ----------- ...

  2. Struts2的值栈和对象栈

    ValueStack 如何得到值栈: 如何将对象存入值栈: 让值栈执行表达式来获得值: 在JSP中跳过栈顶元素直接访问第二层: 在JSP中访问值栈对象本身(而不是它们的属性) ActionContex ...

  3. 开发一个struts2的实例

    前面一篇博客(实现struts2框架)带大家对基于mvc业务流程熟悉了一下,现在我们就用对mvc实现最好的框架struts2来开发一个应用实例.虽然现在MyEclipse8.5以上版本已经开始支持St ...

  4. Struts2第十三篇【防止表单重复提交】

    回顾防止表单重复提交 当我们学习Session的时候已经通过Session来编写了一个防止表单重复提交的小程序了,我们来回顾一下我们当时是怎么做的: 在Servlet上生成独一无二的token,保存在 ...

  5. Struts2【拦截器】就是这么简单

    什么是拦截器 拦截器Interceptor.....拦截器是Struts的概念,它与过滤器是类似的...可以近似于看作是过滤器 为什么我们要使用拦截器 前面在介绍Struts的时候已经讲解过了,Str ...

  6. 由struts2中配置使用servlet引发的思考和复习

    Struts2拦截器到底拦截了什么? 关于struts2中的拦截器,首先再次理解其实只能过滤其中访问的action的映射!再者,因为struts中的action其实就是起到替代servlet作用的,所 ...

  7. struts2学习二:Tomcat的部署目录和访问路径问题

    1:idea中配置tomcat后,那么最终的web工程发布到哪里去了?为什么在访问路径中不加工程名就可以访问? 1.1:因为tomcat有段时间没接触了,先回顾下tomcat的目录结构吧? 如图所示: ...

  8. 程序世界系列之-struts2安全漏洞引发的安全杂谈(上)

    目录: 1.讨论关于struts 安全问题. 2.黑客文化. 3.如何降低安全漏洞的出现. 4.忠告建议. 题记: 这篇文章本来很早应该和大家见面的,中间由于个人原因调整了系列文章发布时间,实属罪过. ...

  9. valuestack,stackContext,ActionContext.之间的关系以及如何存取数值的

      2013-03-15 10:54 1722人阅读 评论(1) 收藏 举报  分类: J2EE 版权声明:本文为博主原创文章,未经博主允许不得转载. 三者之间的关系如下图所示: ActionCont ...

随机推荐

  1. UIDynamic 基础认识

    UIDynamic 是从iOS 7开始引入的一种新技术,属于UIKit框架,可以模拟现实生活中的物理现象,如:碰撞.抖动.摆动等 动力效果:有一个效果器,叫做“动力效果器”里面面可以添加“动力效果” ...

  2. C#调用dll时的类型转换总结

    C++(Win 32) C# char** 作为输入参数转为char[],通过Encoding类对这个string[]进行编码后得到的一个char[] 作为输出参数转为byte[],通过Encodin ...

  3. 20141015--for语句1

    for 语句 break (跳出循环体) 100节楼梯,第1-49节分数等于节数,50以后(包括50)每节10分,

  4. fedora下python3 安装tkinter和pygame

    root 下用 “yum search tkinter”,如下图所示: 然后再根据系统选择安装就好了. tkinter安装完毕. 接下来是安装pygame在fedora的python3上,我的是pyt ...

  5. 使用JPA TOOLS从数据库生成Entity文件

    数据库设计好后,需要生成对应的Entity文件,这是一项不怎么需要动脑筋的工作,最好的方法是交给工具完成,手工操作很容易写错或者遗漏.这里选择的工具就是JPA TOOLS. (1)先选中工程,查看右键 ...

  6. ng-src作用

    ... <ul class="phones"> <li ng-repeat="phone in $ctrl.phones | filter:$ctrl. ...

  7. 连接ACCESS的AccessHelper.cs类

    using System; using System.Data; using System.Configuration; using System.Data.OleDb; using System.C ...

  8. C#委托的异步调用1

    本文将主要通过“同步调用”.“异步调用”.“异步回调”三个示例来讲解在用委托执行同一个“加法类”的时候的的区别和利弊. 首先,通过代码定义一个委托和下面三个示例将要调用的方法: /*添加的命名空间 u ...

  9. 利用rlwrap配置linux下oracle sqlplus 历史记录回调

    .下载rlwrap wget http://utopia.knoware.nl/~hlub/uck/rlwrap/rlwrap-0.42.tar.gz .解压 tar -xvzf rlwrap-0.4 ...

  10. 使用WebGL实现一个Viewer来显示STL文件

    关键字:WebGL,STL,ThreeJS,Chrome,Viewer,Python3.4, HTML5,Canvas. OS:Windows 10. 本文介绍如何使用ThreeJS来实现一个WebG ...