javaWeb之表达式语言EL
2016-04-22 10:00
393 查看
启动EL语言
在JSP2.0中,增加了EL语言,可以通过EL语言,可以通过EL语言,实现获取数据。EL语言给大家带来了方便,但有时,也会遇到EL表达式不能显示的情况。我目前使用的是2.3版本,则xml指令和文档类型定义如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
启用表达式语言
在JSP页面添加
<%@ page isELIgnored=”false”%>
EL语言优点
EL有以下几个特点:EL可以与JSTL结合使用,也可以与JavaScript语句结合使用;
EL中会自动进行类型转换。如果想通过EL输入两个字符串型数值的和,可以直接通过”+”号进行连接,如${num1+num2};
EL不仅可以访问一般变量,还可以访问JavaBean中的属性以及嵌套属性和集合对象;
在EL中可以获得上下文对象(PageContext对象,它是页面中所有其他内置对象的最大范围的集成对象,通过它可以访问其他内置对象);
在使用EL进行除法运算时,如果除数为0,则返回无穷大Infinity,而不是错误;、
在EL中可以访问JSP的作用域(request、session、application以及page);
扩展函数可以与Java类的静态方法进行映射。
访问对象属性
EL可以访问application、session、request、pageContext中的属性与方法,如<% session.setAttribute("info","Session范围Info"); application.setAttribute("info","application范围Info"); request.setAttribute("info","request范围Info"); pageContext.setAttribute("info","Page范围Info"); %> <h1>表达式语言:${info}</h1> <h1>sessionId=${pageContext.session.id}</h1>
访问顺序:${info}首先访问pageContext里面的属性,如果没有,则访问request里面的属性,其实是Session,application里面的属性。
当然,也可以通过对象名+Scope来限定范围。如
<h1>获取session里面的info:${sessionScope.info}</h1>
为什么能够通过${pageContext.session.id}相当于调用了 pageContext.getSession().getId(),返回sessionid呢?这得依赖于java的反射机制。
接受参数
<%=request.getParameter("url") %> <h1>表达式语言:${param.url}</h1>
当不传递参数时候
传递参数
总结一下:接受单个参数是通过param.参数名当然,也可以接受表单里面的参数,接受一组参数是通过paramValues。格式:{param.参数名}当然,也可以接受表单里面的参数,接受一组参数是通过paramValues。格式:{paramValues.参数名[1]},代表接受参数名中第二个参数。
表达式运算符
相关文章推荐
- javaweb学习总结(五)——Servlet开发(一)
- Java方法执行
- Java 实现简单网页小爬虫程序
- java高并发基础知识
- java集合框架04——LinkedList和源码分析
- ajax post传送数组以及java后台接收数组
- Java内存模型
- java集合框架03——ArrayList和源码分析
- 如何在eclipse中调试mvn项目
- struts2怎么把form请求过来的参数赋给model层
- 用maven搭建java ee项目
- java util包概述
- java parseint()
- RxJava
- 基于SSM+CXF构建的RESTFul webservice
- 简单讲解在Java编程中实现设计模式中的单例模式结构
- java bean 转xml
- java程序中对堆栈的理解
- java基础(12)-- 深入理解Collections.sort()
- Java Error: java.lang.UnsupportedClassVersionError: ...bad major version at offset=6