java默认语法、EL、JSTL表达式,JSTL和struts Tag标签的使用总结

转载 2015年11月20日 15:05:30

转载自:http://www.cnblogs.com/jifeng/archive/2012/06/26/2563536.html

思路有点乱,整理下,随想,没有文笔之类,勿在意。

JavaWeb 默认的语法,除HTML 外,共有:
1、<% 可以使用Java语言 %>
2、<%!  可以使用Java 语言定义变量或函数,是public 类型的 %>
3、<%= 变量 %> 可以取值
4、<%@  指令元素  %>
5、<jsp:include、forward  …… ></jsp:include、forward> 默认标签语言
以上五种是Javaweb 默认语法,除第五种是标签语言外,其余上四种都是JavaWeb 默认的语法格式。
此后,JSP2.0之后,引入了 EL 表达语言和 扩展了 标签语言 称为:JSTL 。

EL 表达式语言,其实可以说是一套独立的编程语言,有自己的语法格式,算式运算符,关系运算符,逻辑运算符,条件运算符等等完整的体系,加上还有一些内置的对象,虽然这些内置的对象都需要Java 支持,但也不失为一套完善的编程语言了。

EL 主要编写在 后缀为.jsp 的页面中,虽然它有自己的语法格式,但其实它的本质是Java类,它会通过Web容器转为特定的Java代码,而后运行在Java虚拟机中,只是为了规范 和方便,所以SUN公司推出了它,但发展到现在,它已经称为JavaWeb不可分割的一部分(虽然JSP页面如今少写业务逻辑)

JSTL 是 JSP2.0 后引入的默认标签库,记得默认语法中,第五条就是 <jsp:xxx /> ,而JSTL可以说是那个的升级版,增加了很多可以直接在 jsp 页面中使用,而格式跟普通HTML类似的标签。

接下来,谈谈,Struts2.x 中的OGNL  表达式 和 标签 Struts Tag 。
Struts2.x 中的 OGNL 可以说是取代了 默认的EL表达式,它自身本就是 EL 表达式,它与默认的EL表达式语言,区别共有多少,我没有仔细去了解,只能说说大致了解的。

1、  取值范围:
a)         默认的EL表达式的格式 ${ },它能单独使用,默认取值范围在 :page (PageContext)
b)        OGNL 表达式常用的格式为 # ,还有 $ % 等,默认的取值范围是:valueStack 值栈。

2、   使用范围
a)         默认的EL表达式能单独使用。
b)        OGNL 需要和 标签 Struts Tag 联合使用

3、  优势
a)         EL 表达式 在于有完整的体系,功能完善,
b)        OGNL 没有那些运算,关系,条件,逻辑等等运算符,但它在于能单独访问对象(类),包括静态类,静态方法等

4、  搭档
a)         EL + JSTL 。默认的EL虽然能完成大部分功能,但天生缺少的一些,比如遍历等,就需要配合JSTL使用,功能更为完善。
b)        OGNL + Struts Tag 。OGNL 负责取值,Struts Tag 负责控制流程。分工明确!

Struts 2.x 的 Struts Tag ,是Struts 默认的标签库,和OGNL 一起使用功能更强大。一般来说,OGNL 取值,而Struts Tag 控制流程和显示。

它取代了 默认的JSTL标签库。
 不管是标签,还是表达式语言,都是为了规范在JSP页面的语法,尽量遵循HTML标签式语言,令一些非专业程序员也能使用这些语法开发JSP页面,和保持JSP页面的简洁。

相关文章推荐

Struts2标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系与各自使用

转载自:http://blog.csdn.net/love_you_99/article/details/8184797 我之前虽然会用,但是一直分不清彼此之间有什么区别,所以查找资料,将它们进...

OGNL和EL表达式对比 Struts2标签和JSTL对比

Struts2中的标签 OGNL表达式,EL表达式 JSTL 对比
  • c_w_d
  • c_w_d
  • 2016年08月22日 11:20
  • 1359

JAVA基础之JDBC开发、JSTL语法、EL表达式与数据分页

一、直接使用JDBC开发的问题 1.当表中的列很多时,需要写很长的SQL语句 还需要写大量 setXXX() 设置参数语句 读取数据时还需要写大量setXXXX()设置属性语句   2.非常容易出错...

Java学习——JSTL标签与EL表达式之间的微妙关系

很高兴,今天能和大家分享刚学的一些新知识。我们在java开发过程中经常会在jsp中嵌入一些java代码,比如,在了解java代码的人员看来,这很简单,可是对于美工或者前台不懂java代码的人员,这就是...

JSTL、EL、ONGL、Struts标签的区别与使用

一、JSTL    来源        我们使用JSP开发信息展现非常方便,也可嵌入java代码用来实现相关逻辑,但同样带来了很多问题:               jsp维护难度增加    ...

EL表达式与JSTL标签的使用

用户名 姓名 年龄 性别 ...

JSP和El表达式和JSTL标签库使用

JSP 指令是通知JSP引擎如何处理该JSP页面,不是针对程序员的。 共有三种指令:    1.page指令:        1.1. language="java"  默认是java,只能写java...

EL表达式和JSTL标签库使用详解

JavaBean在JSP中的局限 获取JavaBean属性必须要实例化 强制类型转化

使用EL表达式获取数据和使用JSTL标签库迭代容器

为了避免在JSP页面中出现Java代码和显示Servlet处理完成带过来的数据并且显示,使用EL表达式会非常容易而且简介,但是对于存放在容器中的数据,EL表达式不能单独完成迭代输出,所以必须使用JST...

Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用

Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用
  • educast
  • educast
  • 2016年08月07日 08:01
  • 1927
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java默认语法、EL、JSTL表达式,JSTL和struts Tag标签的使用总结
举报原因:
原因补充:

(最多只允许输入30个字)