【JSTL】-EL表达式
来源:互联网 发布:159素食全餐淘宝好便宜 编辑:程序博客网 时间:2024/06/05 18:41
目的:为了使JSP写起来更加简单,计算和输出存储在标志位置的Java对象的值,JSP2.0引入了EL表达式。
EL的内置对象:pageScope、requestScope、sessionScope、applicationScope
如果只是使用EL表达式不需要引入任何jar包,只要jsp/servlet容器实现了J2EE1.4/Servlet2.4、JSP2.0规范就可以。
El的功能:
与<jsp:getProperty />类似
简化<jsp:getProperty />
精确的访问存储对象
Bean属性的简略记法
空值取代错误消息
EL表达式语法:
${表达式}
注意:表达式的值为null,则页面显示为一个空字符串,而不是null.
EL的作用域:
使用EL时,默认以一定的顺序搜索四个作用域,将最先找到的变量值显示出来,只要找到某一个不为空的值则调用他的同toString()方法并返回调用结果,如果都没有找到,则返回空字符串,而不是null.
Demo:测试EL表达式
package com.lf.jstl;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class JstlElServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setAttribute("hello", "Hello World");request.getRequestDispatcher("/jstl_el.jsp").forward(request, response);}}
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=GB18030"><title>Insert title here</title></head><body><h1>测试EL表达式</h1> 不使用EL表达式获取字符串:<br> 使用hello(jsp脚步):<%=request.getAttribute("hello") %><br> 使用EL表达式获取字符串:<br><span style="white-space:pre"> hello(el表达式 语法:$和{}): ${hello}<br> </body></html>
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <body> <a href="servlet/JstlElServlet">测试EL表达式</a> </body></html>
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <servlet-name>JstlElServlet</servlet-name> <servlet-class>com.lf.jstl.JstlElServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>JstlElServlet</servlet-name> <url-pattern>/servlet/JstlElServlet</url-pattern> </servlet-mapping> </web-app>
预览结果:
单机测试EL表达式:一种是不使用EL表达式的,一种是使用EL表达式获取字符串的。
使用EL的好处:
1、代替复杂代码,省去条件判断
2、访问Bean的属性
EL提供了“.”和“[]”两种运算符来存取数据
使用userBean填充数据,并通过Bean实例来显示数据
Bean属性的简略记法:
1、点号记法:${BeanName.beanProperty}
2、数组记法:${BeanName["beanProperty"]}比较少用
3、使用EL表达式可以输出MVC的内容,代码简单。
Servlet的doPost()或doGet()方法中,保存在作用域范围内的数据,可以在其它的JSP页面获取
- EL表达式 + JSTL表达式
- jstl EL(表达式语言)
- JSTL-EL表达式
- JSTL-EL表达式
- JSTL详解--EL表达式
- JSTL-EL表达式
- JSTL详解---EL表达式
- jstl el表达式
- JSTL-EL表达式
- JSTL EL表达式语言
- JSTL-EL表达式
- JSTL详解--EL表达式
- el表达式和jstl
- JSTL-EL表达式
- JSTL详解--EL表达式
- EL和JSTL表达式
- EL表达式与JSTL
- el表达式与jstl
- NavigationView和DrawerLayout实现侧滑菜单栏
- Android应用Design Support Library完全使用实例
- 使用R语言分析股价波动
- 诡异的楼梯 hdu 1180
- QPS UV PV
- 【JSTL】-EL表达式
- 【ITOO】---easyUI的Combobox实现级联查询
- Struts2学习笔记(3)之国际化
- iOS 类似于礼物说分类栏TableView,CollectionView联动的实现
- php 冒泡排序
- hdu4300 Clairewd’s message 扩展KMP
- swoole & redis实现 Rest api
- UIIAlertController的自动消失
- svn 清理失败 (clean up 失败) 的解决方法