到底该不该熟悉掌握struts2的ONGL呢?
其实,在学习网站开发过程中,其实不掌握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呢?的更多相关文章
- Struts2笔记——ONGL表达式语言
OGNL是ObjectGraphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目. Struts 2框架使用OGNL作为默认的表达式语言. ----------- ...
- Struts2的值栈和对象栈
ValueStack 如何得到值栈: 如何将对象存入值栈: 让值栈执行表达式来获得值: 在JSP中跳过栈顶元素直接访问第二层: 在JSP中访问值栈对象本身(而不是它们的属性) ActionContex ...
- 开发一个struts2的实例
前面一篇博客(实现struts2框架)带大家对基于mvc业务流程熟悉了一下,现在我们就用对mvc实现最好的框架struts2来开发一个应用实例.虽然现在MyEclipse8.5以上版本已经开始支持St ...
- Struts2第十三篇【防止表单重复提交】
回顾防止表单重复提交 当我们学习Session的时候已经通过Session来编写了一个防止表单重复提交的小程序了,我们来回顾一下我们当时是怎么做的: 在Servlet上生成独一无二的token,保存在 ...
- Struts2【拦截器】就是这么简单
什么是拦截器 拦截器Interceptor.....拦截器是Struts的概念,它与过滤器是类似的...可以近似于看作是过滤器 为什么我们要使用拦截器 前面在介绍Struts的时候已经讲解过了,Str ...
- 由struts2中配置使用servlet引发的思考和复习
Struts2拦截器到底拦截了什么? 关于struts2中的拦截器,首先再次理解其实只能过滤其中访问的action的映射!再者,因为struts中的action其实就是起到替代servlet作用的,所 ...
- struts2学习二:Tomcat的部署目录和访问路径问题
1:idea中配置tomcat后,那么最终的web工程发布到哪里去了?为什么在访问路径中不加工程名就可以访问? 1.1:因为tomcat有段时间没接触了,先回顾下tomcat的目录结构吧? 如图所示: ...
- 程序世界系列之-struts2安全漏洞引发的安全杂谈(上)
目录: 1.讨论关于struts 安全问题. 2.黑客文化. 3.如何降低安全漏洞的出现. 4.忠告建议. 题记: 这篇文章本来很早应该和大家见面的,中间由于个人原因调整了系列文章发布时间,实属罪过. ...
- valuestack,stackContext,ActionContext.之间的关系以及如何存取数值的
2013-03-15 10:54 1722人阅读 评论(1) 收藏 举报 分类: J2EE 版权声明:本文为博主原创文章,未经博主允许不得转载. 三者之间的关系如下图所示: ActionCont ...
随机推荐
- android apk 逆向中常用工具一览
关于apk 逆向中的一些工具的使用,看了不少文章,也使用过有很长一段时间了,今天对此做一总结: 几种文件之间的转换命令: 1. odex -> smali java -jar baksmali ...
- 第三十八篇、给UITabBar按钮的动画效果
在很多情况下,我们也时常有这样的需求,就是在UITabBar切换的时候,添加一些动画效果 1.在UITabBar触发点击方法的时候捕获当前点击的item 2.使用coreAnimation设置动画效果 ...
- ios开发:OC对象的内存分析
最近要开始准备找实习单位了,做做笔试题,看看各位大神的面试经历,发现自己要学习的东西真的还有很多,虽然也做过几个的项目,但是真正拿过笔试题一看,才发现自己对基础这方面的东西,确实有点忽视了,所以最近开 ...
- C# 高精度加法 支持小数(待优化)
直接上代码 实现思路: 1.首先小数点补 位,9223372036854775808.9+9223372036854775808.9223372036854775808 => 922337203 ...
- (转)DockPanel的一点点改进
1.当双击Tab时,原先是直接把当前Tab所表示的这个窗体,从主窗体的框架上分离现来,成为一个浮动的窗体.这不是我想要的,我把它改成了双击关闭.在DockPaneStripBase的WndProc方法 ...
- JavaScript代码检查工具 — JSHint
静态代码检查是开发工作中不可缺少的一环,毕竟对于程序化的工作人的眼睛是不可靠的,更何况是自己的眼睛看自己的代码.即使最后的运行结果通过,但可能存在一些未定义的变量.定义了但最后没用过的变量.分号有没有 ...
- 使用httpclient发送post请求与get请求
最近因为项目的要求,需要使用httpclient来发送请求.但是查阅了许多博客,大家发送请求的方法各不相同.原因是因为httpclient的jar包的不同版本,其内部方法也不相同.因此抛开具体用到的j ...
- What are Upgrade, Product and Package Codes used for? By pusu
Following content is reprinted from here, please go to the original website for more information. Au ...
- 模板:strncpy函数
参考链接:http://baike.baidu.com/view/1207711.htm strncpy 是 C语言的函数之一,来自 C语言标准库,定义于 string.h,char *strncpy ...
- 【转】Windows Phone 调整屏幕亮度的简单实现
之前看到以及其它应用都有调节屏幕亮度的功能,还以为MS有相关的API,就去MSDN找了下,但是怎么都找不到.今天突然想到做自定义MessageBox时,由于要突出弹出框部分,所以会改变LayoutRo ...