[java][EL、JSTL、OGNL]:总结及区别

EL表达式:表达式语言

不是一种开发语言,是jsp中获取数据的一种规范

例如:
<!--jsp 脚本-->
<%
User u = (User)pageContext.getAttribute("u");
%>
<!--EL表达式-->
${u}
EL的具体功能
1、获取数据
EL表达式只能获取存在4个作用域中的数据
${u} 原理: pageContext.getAttribute("u");
------------------------------------------------------
例如:
在浏览器地址输入,表示传入一个参数test,值为123

URL:http://localhost:8888/Test/index.jsp?test=123
 <body>
    ${test}
    ${requestScope.test}  
    <%request.getAttribute("test"); %>
</body>
以上代码均不能取出值
仅当 使用
<%
    request.setAttribute("test", "123");
 %>
赋值时<body/>内可以正常取出值
那么如何取出URL 中的test 的值呢?如下
  <body>
    ${param.test}
    <%=request.getParameter("test") %>
</body>
均可取出URL中的test的值。。
结论:
${param.name} 等价于 request.getParamter("name"),这两种方法一般用于服务器从页面或者客户端获取的内容。

${requestScope.name} 等价于 request.getAttribute("name"),一般是从服务器传递结果到页面,在页面中取出服务器保存的值。

formData里的数据也是parameter的一部分
------------------------------------------------------
${u.name} == u.getName()方法
点(.) 运算符相当于调了getter方法,点后页面跟的是属性名。
<!--jsp 脚本-->
<%
User u = (User)request.getAttribute("u");
out.print(u.getName());
%>
<!--EL表达式-->
${u.name}
------------------------------------------------------
属性导航
[]运算符:点能做的,它也能做; 它能做的,点不一定能做
${student.name}== ${student['name']} == ${student["name"]}

2、运算
empty 
判断null,空字符串和没有元素的集合(即使集合对象本身不为null)都返回true

Snip20181120_3.png

三目运算


Snip20181120_4.png

JSTL

作用

使用JSTL实现JSP页面中逻辑处理。如判断、循环等。

1)在JSP页面添加taglib指令

<%@ taglib uri = "http://java.sun.com/sp/jstl/core" prefix="c"%>

2)使用JSTL标签

<c:if test=""></c:if>
标签库
Snip20181120_5.png
Snip20181120_6.png
Snip20181120_7.png

struts2中的标签类似JSTL

OGNL

1.取根中对象的属性,不使用#。
2.取contextMap中key的值,要使用#。


Snip20181120_8.png

Snip20181120_9.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、jsp介绍 jsp作用jsp全称java server pages(java服务器页面),本质是一个servl...
    圣贤与无赖阅读 5,010评论 0 14
  • 一. Java基础部分.................................................
    wy_sure阅读 9,228评论 0 11
  • JSP总结(经典) day1 JSP 定义: 1)Java Server Page, Java EE 组件,本...
    java日记阅读 8,823评论 0 13
  • 短暂的分离是为了更好的相见
    JaneSun799阅读 1,345评论 1 1
  • 【正面管教Day24】 1.心情 :平淡 充实 舒畅 2.进步:宝贝今天乐园的表现比上一周进步好多!早上离开的时候...
    瑾_61e6阅读 780评论 0 0