人生第一篇博客,求支持。 对EL表达式和JSTL标签库和OGNL表达式的了解
2015-12-22 18:40
579 查看
大的概念:
JSP标准包括EL表达式、Tag标签的标准。
resources下面的jspxml.dtd是对jsp页面的文档类型定义,e.g.:jsp页面的page指令、jsp跳转就在此文件里定义。
web-jsptablibrary_1_2.dtd是对taglib文件的文档类型定义。
1、EL表达式
在MVC的体系中,JSP主要负责的是显示的功能,如果里面充斥了大量的Java代码,会看起来很乱,但是如果使用EL表达式的话就会大大简化JSP的java代码;eg:<% System.out.print("aaa");%> 等价于 ${“aaa”}或${‘aaa'}
如果需要在JSP页面中使用EL表达式的话,那么就要使用page指令:<%@ page isELIgnored="false" %>
语法:${表达式} 表达式可以是字符串、算术表达式、关系表达式、三元表达式等。
最重要的一点是可以使用9大内置对象在EL表达式里面:
eg: ${page.user.userName} 相当于<%=page.getAttribute("user").getUserName()%>
${request.books} 相当于<%=request.getAttribute("books")%>
${session.lastURL} 相当于<%=session.getAttribute("lastURL")%>
${session.lastURL} 相当于<%=session.getAttribute("lastURL")%>
个人认为jsp在编译的时候会检查表达式第一个.之前是不是JSP页面9大内置对象,是的话不调用get方法,不是的话回一次从page-request-session-application中依次调用get方法,然后之后的.依次调用get方法。
2、JSTL JSP标准标签库-符合jsp的Tag标准,可以根据jsp的Tag标准来制定自己的标签库。
需要导入对应的tld文件,然后在JSP页面使用标签。
屏幕快照 2015-12-22 12.48.49.png
扩展名为tld的文件是存放自定义标签规范的,在执行的时候用来检测标签的合理性,原理是,在用户在jsp页面中使用标签时,系统首先会先到xml文件中 的<taglib>标签中的<taglib-uri>标签找到相对应的扩展名为tld文件,然后在tld文件中的映射再找到相对应的taglib类,然后根据tag标准来执行tablib类的相关操作。
由于tablib文件也是一个xml文件,所以需要DTD文件来对他就行规范,DTD文件可以从网上加载,也可以从本地获取。
没找到上传文件的按钮。。。发链接吧。http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd,其实tld文件就是根据这个连接来找dtd文件的。
下图的黄框里面的字就是上面dtd文件里的。
相关文章推荐
- $.jsonp
- jsonp原理
- js 页面之间的跳转、传参以及返回上一页
- 小技巧之js导出word
- json-lib 之jsonConfig详细使用
- 小技巧之js判定上传文件大小
- js之第三方工具解析JSON
- jsp页面静态化实例
- JsonUtil
- JavaScript当中网页刷新后数值(text、radio、checkbox、select、textarea)保持不变(输入域数据保持)的简单方法
- js仿微博实现统计字符和本地存储功能
- js 上传图片预览 在网上找的例子,很好使
- JavaScript 数组对象获得input输入框的值,并设置
- js 的 math 函数
- JavaScript基础——使用Canvas画图
- 开源的轻量级JSON存储Kinto介绍
- JSTL实现递归展示树型结构数据
- js DOM Document类型
- JSTL分割字符 fn:split()
- js类型与检查