Jsp中的EL表达式

简介: Jsp中的EL表达式

1、 el表达是什么

  • a) Expression language 表达式语言。
  • b) 可以获取作用域里面的数据。
  • c) El表达式得到的变量可以做一些运算。

语法:${作用域.key}
作用域:pageScope,requestScope,sessionScope,applicationScope

2、 为什么要学习el表达式

  • a) 虽然在jsp里面可以通过<% %>标签写java代码,但是在jsp里面写java代码跟在servlet里面写html代码一样的麻烦。
  • b) Jsp里面有java代码使jsp的可读性减低。
  • c) El和jstl可以使jsp中不出现java代码。

3、EL表达式的作用

作用:用来代表输出脚本<%= %>在页面展示数据

El表达式获取对象数据的属性

${作用域范围标识.对象名.属性}

例如 ${pageScope.b.bookId}

El表达式中 .属性 底层实际上调用属性的getXxx() , 而且el表达式只认getXxx()


需要注意的是:

  • A.当作用域里面没有该键时,el打印的是空字符串,而不是null。
  • B.El表达式里面的作用域是可以省略的。当el表达式省略作用域时,表示表达式会依次从小作用域往大作用域里面找key,直到找到为止。

4、EL表达式可以进行运算

语法:${作用域.key 运算符 变量值}

数学运算: + - * / % (注意这些运算只能是数字进行运算不能是字符串)


关系运算: > >= < <= == != (==是可以判断字符串的)


逻辑运算:&& || !


Empty运算 ${empty 作用域的命名属性} (empty 注意既可以判断是否为空又可以判断是否为空字符串)

true: 作用域中不包含该命名属性

false: 作用域中包含该命名属性

5、el表达式内置对象

a) pageContext 类似于jsp内置对象pageContext

获取其它8个jsp内置对象

Jsp中 pageContext.getRequest()

pageContext.getSession();

pageContext.getServletContext(); --> application


El表达式中:

${pageContext.request}

${pageContext.session}

${pageContext.servletContext}


项目有一个问题,项目中用到项目名的时候都是固定写死的。代码的可重用性会降低。我们可以通过java代码动态的获取到项目名。

String path=request.getContextPath();

如何通过el表达式获取项目名呢?

${pageContext.request.contextPath}


b) param 获取client传递来的数据

Get方式:http://ip地址:port/项目名/url-pattern?name名=value值&name名=value值

Post方式:form表单 请求体中发送 name名=value值


Servlet获取client数据:request.getParameter(“name名”);

JSP中获取client数据:<% request.getParameter(“name名”); %>

使用el表达式获取: ${param.name名}


c) cookie 获取浏览器发送来的cookie

Cookie和param

El表达式可以直接获取cookie里面存储的数据。

$ {cookie.cookie标记.value}

El表达式可以通过param获取到请求jsp时传递的参数。${param.name}


Cookie c = new Cookie(“name名”,”value值”);

${cookie.cookie的name名} //获取cookie对象

${cookie.cookie的name名.name}//获取的cookie对象的name属性值


${cookie.cookie的name名.value} //获取cookie对象的value属性值【重点】


Cookie c = new Cookie(“username”,”xushy”);


${cookie.username.name} ==> “username”

${cookie.username.value} ==> “xushy”


Cookie c = new Cookie(“JSESSIONID”,”2893749743AbCD”);


${cookie.JSESSIONID.name} > ”JSESSIONID”

${cookie.JSESSIONID.value}>”2893749743AbCD”


目录
相关文章
|
14天前
|
存储 XML SQL
jsp、EL表达式、Jstl使用
jsp、EL表达式、Jstl使用
|
10月前
|
Java
欢迎来到Jsp编程课时六——EL表达式(JSP第十五课时)
欢迎来到Jsp编程课时六——EL表达式(JSP第十五课时)
83 0
JSP学习(一):声明脚本、表达式脚本和代码脚本
虽然现在JSP用得不多了 ,但是很多学习JSP也就需要几天时间,而且很多项目仍然使用JSP,因此我也花几天时间学习一下JSP,要求自己能看懂代码就行。
|
Java
JSP EL中的函数
JSP EL中的函数
61 0
|
Java
JSP学习——EL表达式和JSTL学习小结
JSP学习——EL表达式和JSTL学习小结
90 0
|
前端开发 Java
JSP简介&&EL表达式&& JSTL
JSP简介&&EL表达式&& JSTL
JSP简介&&EL表达式&& JSTL
|
Java
strus2中页面的s标签,替换jsp的el和jstl标签
strus2中页面的s标签,替换jsp的el和jstl标签
87 0
strus2中页面的s标签,替换jsp的el和jstl标签
|
开发框架 前端开发 安全
|
14天前
|
Java
学院管理系统【JSP+Servlet+JavaBean】(Java课设)
学院管理系统【JSP+Servlet+JavaBean】(Java课设)
34 3
学院管理系统【JSP+Servlet+JavaBean】(Java课设)
|
14天前
|
Java
排课系统【JSP+Servlet+JavaBean】(Java课设)
排课系统【JSP+Servlet+JavaBean】(Java课设)
29 5

相关课程

更多