您的位置:首页 > Web前端 > JavaScript

人生第一篇博客,求支持。 对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文件里的。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: