表达式语言(Expression Language,EL):${表达式}
功能:计算花括号内的表达式的值,将其转换为String类型并进行显示.
表达式是由常量,作用域变量,请求参数,cookies等组成的运算表达式.
- EL可以在JSP页面的模版文本中使用,
- 也可以作为元素属性的值,
- 还可以在自定义或标准动作元素的内容中使用
表达式不能在脚本中使用!
<p>${username}</p>
<input type="text" name="username" value="${parm.username}"/>
JSP脚本实现:
<input type="text" name="username" value="<%
String s=request.getParameter("username");
if(s!=null){
out.print(s);
}
%>
"/>
操作符
EL使用"[]","."操作符来访问数据.用于访问指定对象的属性.
${param.username}
${param["username"]}
ps:当对象的属性名中包含特殊字符或属性是一个变量的值时,只能用"[]"获取属性值.
运算符
算数运算符
- +-*
- /(或div)
- %(或mod)
关系运算符
- ==(equ)
- >(gt)
- <(lt)
- !=(ne)
- >=(ge)
- <=(le)
逻辑运算符
- &&(and)
- ||(or)
- !(not)
其他
- 条件运算 条件?表达式1:表达式2
- 空值运算 empty
内置对象
- pageContext对象
- 作用域内置对象
- 请求头部内置对象
- 参数访问内置对象
pageContext:
相当于JSP中的pageContext对象
${pageContext.request.method}
作用域内置对象:
- pageScope:访问绑定在pageContext上的对象
- requestScope:访问绑定在request上的对象
- sessionScope:访问绑定在session上的对象
- applicationScope:访问绑定在application上的对象
请求头部内置对象:
- header:访问请求头部中值为单值的属性
- headerValues:访问请求头部值为多值的属性
- Cookie:访问请求头部中的Cookie信息
参数访问内置对象
- param:访问客户端值为单值的属性
- paramValue:访问客户端值为多值的属性
${paramValues.key[index]}
利用EL设置html标签显示值
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>EL</title>
</head>
<body>
<form action="" method="post" name="frmain" id="frmain">
<input type="radio" name="answer" value="correct" onclick="frmsubmit();"
${param.answer=="correct"?"checked":""}/>对
<input type="radio" name="answer" value="wrong" onclick="frmsubmit();"
${param.answer="wrong"?"checked":""}/>错<br>
</form>
<form action="" method="post" name="frmnext">
<input type="submit" name="next" value="下一题">
</form>
</body>
</html>