在学习JSP时看到了${}写法,当时以为就等于<%=%>,其实非常错误
目录- EL表达式介绍
- JSP,EL对照表
- EL访问Bean的属性
- Expression Language表达式语言
- 是一种在JSP页面获取数据的简单方式(只能获取数据,不能设置数据)
- 在JSP2.0开始引入概念
JSP,EL对照表在JSP页面的任何静态部分均可通过:${expression}来获取到指定表达式的值
JSP | EL | 备注 |
---|---|---|
name=${name } | name=四大域.getAttribute(“name”, “linjie”); | 从小到大一次搜索,找到为止 |
name=pageScope.name | name=pageContext.getAttribute(“name”, “linjie”); | - |
pageContext.request | request | 过时 |
name=${param.name } | request.getParameter() | - |
hobby[]=${paramValues.hobby} | request.getParameterValues() | 用于获取checkbox等多参数 |
${initParam} | ServletContext.getInitParameter() | 初始化变量,需要配置xml文件,自行百度 |
EL可以通过${key.属性}的方式获取到指定值,其底层实际调用的是该对象的相应属性的get方法
Demo.java
package linjie.com;
/*
*Bean
*/
public class Demo {
private String name;
private int age;
public Demo(String name,int age){
this.name=name;
this.age=age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return super.toString();
}
}
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
import="linjie.com.Demo"
pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
Demo test=new Demo("linjie",12);
request.setAttribute("ELttt", test);
%>
name=${requestScope.ELttt.name }<br>
age=${requestScope.ELttt.age }<br>
<!-- 若访问为null的对象的属性,EL是不会抛出空指针异常的,只是不显示而已 -->
names=${requestScope.ELtttxx.name }<br>
</body>
</html>
此外,el还能访问数组,map,list等的数据
参照博客
后面项目会用到list访问,到时候在详细解释
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)