<%@ 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%>">
<title>My JSP 'JSTL_test.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<h1>测试EL表达式</h1>
<hr>
<li>普通字符串</li>
hello(jsp脚本):<%request.getAttribute("hello");%><br>
hello(EL表达式使用$和{}):${hello}<br>
hello(el表达式,el的隐含对象:pageScope,requestScope,sessionScope,applicationScope<br>如果没有指定scope,则它的搜索顺序为
pageScope ----> applicationScope):${requestScope.hello }<br>
<li>结构</li>
姓名:${user.userName}(与对象的方法(get)相关)<br>
年龄:${user.age }<br>
所属组:${user.group.name }<br>
<li>输出map</li>
mapvalue.key1:${mapvalue.key1 }<br>
mapvalue.key2:${mapvalue.key2 }<br>
<li>数组输出,采用[]和下标</li>
atrarray[2]:${astarray[1] }<br>
<li>输出对象数组</li>
userarray[3].username:${users[2].username }<br>
<li>输出list,采用[]和下标</li>
userlist[5].username:${userlist[4].username }<br>
<li>el表达式对运算符的支持</li>
1 + 2 = ${1+2 }<br>
10 / 5 = ${10/5 }<br>
10 / 5 = ${10 div 5 }<br>
10 % 3 = ${10%3 }<br>
10 % 3 = ${10 mod 3 }<br>
<--
== eq
!= ne
< lt
> gt
<= le
>= ge
&& and
|| or
! not
/ div
% mod
-->
<li>测试empty</li>
value1:${not empty value1 }<br>
value2:${empty value1 }<br>
value3:${empty value1 }<br>
value4:${empty value1 }<br>
</body>
</html>