el可以让页面变的更整洁
1.先创建一个srvlet
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 测试EL表达式
* @author Administrator
*
*/
public class JstlElServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setAttribute("hello", "Hello World");
//结构
Group group = new Group();
group.setName("鹰之眼");
User user = new User();
user.setUserName("张三");
user.setAge(23);
user.setGroup(group);
request.setAttribute("user", user);
//map
Map map = new HashMap();
map.put("k1", "v1");
map.put("k2", "v2");
request.setAttribute("map", map);
//字符器数组
String[] strArray = new String[]{"a","b","c"};
request.setAttribute("strArray", strArray);
//对象数组
User[] users = new User[10];
for (int i = 0; i < users.length ;i++) {
users[i] = new User();
users[i].setUserName("张三_" + i);
}
request.setAttribute("users", users);
//List
List userList = new ArrayList();
for (int i = 0;i < 10;i++) {
User usl = new User();
usl.setUserName("李四_" + i);
userList.add(usl);
}
request.setAttribute("userList", userList);
//empty 判断是为空值
request.setAttribute("v2", "");
request.setAttribute("v3", new ArrayList());
request.setAttribute("v4", "12345");
request.setAttribute("v5", null);
request.getRequestDispatcher("/jstl_el.jsp").forward(request, response);
}
}
2.配置web.xml
<?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>cn.egps.jstl.JstlElServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>JstlElServlet</servlet-name>
<url-pattern>/servlet/JstlElServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
3.创建一个页增加一个键接用于访问servlet,也可以直接访问servlet
<%@ 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>测试El表达式</title>
</head>
<body>
<a href="servlet/JstlElServlet">测试EL表达式</a>
</body>
</html>
4.创建一个sevlet返回的页面用于测试EL表达式
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>el表达式</title>
</head>
<body>
<h1>测试EL表达式</h1>
<hr>
<li>普通字符器</li><br>
hello(jsp脚本):<%=request.getAttribute("hello") %><br>
hello(el表达式,语法:$和{}):${hello}<br>
hello(el表达式,el的内置对象pageScope,requestScope,sessionScope,applicationScope)<br>
如果不指定范围,它的搜索顺序为pageScope~applicationScope):${requestScope.hello }<br>
hello(el表达式,指定范围从session取得):${sessionScope.hello }
<p>
<li>结构,采用.进行导航,或称为存取器</li><br>
姓名:${user.userName }<br>
年龄:${user.age }<br>
所属组:${user.group.name }<br>
<p>
<li>map</li><br>
map.k1:${map.k1 }<br>
map.k2:${map.k2 }<br>
<p>
<li>字符串数组,采用[]下标</li><br>
strArray[1]:${strArray[1] }<br>
<p>
<li>对象数组,采用[]下标</li><br>
users[5].userName:${users[5].userName}<br>
<p>
<li>List,采用[]下标</li><br>
userList[6]:${userList[6].userName }<br>
<p>
<li>el表达式对运算符的支持</li><br>
1 + 1 = ${1 + 1 }<br>
10 / 5 = ${ 10 / 5 }<br>
10 div 5 = ${10 div 5 }<br>
10 % 3 = ${10 % 3 } <br>
10 mod 3 = ${10 mod 3 }
<!--
==/eq
!=/ne
</lt
>/gt
&&/and
||/or
!/not
//div
%/mod
-->
<p>
<li>测试empty 判断是为空值</li><br>
v1:${empty v1 }<br>
v1:${empty v2 }<br>
v1:${empty v3 }<br>
v1:${empty v4 }<br>
v1:${empty v5 }<br>
</body>
</html>