javaEE JSP, EL, 域对象pageScope/requestScope/sessionScope/applicationScope

EL(Express Lanuage)表达式可以嵌入在jsp页面内部;EL和JSTL出现的目的是要替代jsp页面中内嵌脚本的编写。(类似模板引擎,将HTML代码和Java代码解耦)


el.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8" 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>
	
	<!-- java脚本方式(传统方式)取出域中的值 -->
	<%=request.getAttribute("name") %>
	<%
		Object obj = session.getAttribute("name");
		out.write(obj+"");
	%>
	
	<!-- 使用EL表达式获得域中的值。(EL就是为了取代内嵌的java脚本) -->
	${pageScope.name}    <%-- 获取pageContext域中name属性的值 --%>
	${requestScope.name}   <%-- request域 --%>
	${sessionScope.user.name}  <%-- user是一个JavaBean对象。可以直接用点.的方式获取对象属性值。用.取代get --%>
	${applicationScope.list[1].name}  <%-- list是一个集合。可以直接用[]的方式获取某个元素。变量表示的属性或包含特殊符号,必须用[],不能用点语法 --%>
	
	<!-- 使用el表达式 全域查找 -->
	${name}  <%-- 依次从pageContext域,request,session,application域中寻找name属性值 --%>
	
	<!-- el可以执行表达式运算 -->
	${1+1}
	${1==1?true:false}  <%-- 三元运算符 --%>
	
	<!-- empty 判定是否是null 是null返回true -->
	${empty user}  <%-- 会先从域中查找user对象,再判空; ""也表示空 --%>
	
	<!-- 通过el表达式获得request对象(pageScope是域对象,不是request对象本身) -->
	${pageContext.request }  <%-- 通过EL内置对象pageContext获取JSP的其他8大内置对象 --%>
	${pageContext.request.contextPath }   <%-- 通过request对象获取web应用名称 --%>
	
</body>
</html>



猜你喜欢

转载自blog.csdn.net/houyanhua1/article/details/80878169