1、创建Web项目JSTLELDemo修改配置
2、在web目录里创建首页文件index.html
3、在web目录里创建演示页面demo01.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>EL演示01</title>
</head>
<body>
<%
String username = "李元霸";
pageContext.setAttribute("username","张三丰");
request.setAttribute("username","李世民");
session.setAttribute("username","郑晓雯");
application.setAttribute("username","唐雨涵");
%>
利用JSP表达式输出变量值:<br/>
姓名:<%= username %><br/>
姓名:<%=pageContext.getAttribute("username")%><br/>
姓名:<%= request.getAttribute("username")%><br/>
姓名:<%=session.getAttribute("username")%><br/>
姓名:<%=application.getAttribute("username")%><br/>
利用EL表达式输出变量值:<br/>
姓名:${username}<br/>
姓名:${pageScope.username}<br/>
姓名:${requestScope.username}<br/>
姓名:${sessionScope.username}<br/>
姓名:${applicationScope['username']}<br/>
</body>
</html>
启动服务器,访问http://localhost:8080/JSTLELDemo/demo01.jsp:4、在web目录里创建演示页面demo02.jsp
<%@ page import="java.util.Map" %>
<%@ page import="java.util.HashMap" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>EL演示02</title>
</head>
<body>
<%
Map<String,String> names= new HashMap<>();
names.put("one","李玉文");
names.put("two","钟发奎");
names.put("three","周晓雯");
session.setAttribute("names",names);
%>
第一个学生:<%= names.get("one")%>:${sessionScope.names.one}:${names['one']}<br/>
第二个学生:<%= names.get("two")%>:${sessionScope.names.two}:${names['two']}<br/>
第三个学生:<%= names.get("three")%>:${sessionScope.names.three}:${names['three']}<br/>
</body>
</html>
启动服务器,访问http://localhost:8080/JSTLELDemo/demo02.jsp:
5、在WEB-INF目录里创建lib子目录,添加标准标签库jar包
标签库jar包下载地址:http://tomcat.apache.org/taglibs/standard/
6、在web目录里创建演示页面demo03.jsp
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.Random" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>EL演示03</title>
</head>
<body>
<c:set var="x" value="${1+2+3}" scope="session"/>
<%
String y = String.valueOf(1 + 2 + 3);
session.setAttribute("y", y);
%>
x: <c:out value="${x}"/><br/>
y: <c:out value="${y}"/> <br/>
<c:remove var="y" scope="session"/>
y: ${sessionScope.y}<br/> <!-- y已被删除,因此没有值可以显示 -->
<hr>
if标签用法示例(单分支结构) <br/>
<c:if test="${x=='6' }" var="result">
x的结果是6。<br/>
</c:if>
条件判断的结果为:${result}<br/>
<hr>
choose、when、otherwise标签用法示例(多分支结构)<br/>
<%
Random rnd = new Random();
Integer luck = new Integer(rnd.nextInt(10));
request.setAttribute("luck", luck);
%>
<c:choose>
<c:when test="${luck==8}">恭喜你中了一等奖!</c:when>
<c:when test="${luck==6}">恭喜你中了二等奖!</c:when>
<c:when test="${luck==9}">恭喜你中了三等奖!</c:when>
<c:otherwise>谢谢参与,欢迎再来!</c:otherwise>
</c:choose>
<hr>
forEach标签用法示例(循环结构)<br/>
<%
List<String> users = new ArrayList<String>();
users.add("admin");
users.add("howard");
users.add("smith");
users.add("green");
request.setAttribute("users", users);
%>
<c:forEach items="${users}" var="user">
<c:out value="${user}"/><br/>
</c:forEach>
</body>
</html>
启动服务器,访问http://localhost:8080/JSTLELDemo/demo03.jsp:
7、在web目录里创建演示页面demo04.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>formateDate标签应用示例</title>
</head>
<body>
<h3>formateDate标签应用示例</h3>
<jsp:useBean id="now" class="java.util.Date"/>
<fmt:formatDate var="date" value="${now}"
type="date" dateStyle="default"/>
<fmt:formatDate var="time" value="${now}"
type="time" timeStyle="default"/>
<table border="1">
<tr>
<td>序号</td>
<td>样式</td>
<td>日期</td>
<td>时间</td>
</tr>
<tr>
<td>1</td>
<td>default</td>
<td>${date}</td>
<td> ${time}</td>
</tr>
<fmt:formatDate var="date" value="${now}"
type="date" dateStyle="short"/>
<fmt:formatDate var="time" value="${now}"
type="time" timeStyle="short"/>
<tr>
<td>2</td>
<td>short</td>
<td>${date}</td>
<td> ${time}</td>
</tr>
<fmt:formatDate var="date" value="${now}"
type="date" dateStyle="medium"/>
<fmt:formatDate var="time" value="${now}"
type="time" timeStyle="medium"/>
<tr>
<td>3</td>
<td>medium</td>
<td>${date}</td>
<td> ${time}</td>
</tr>
<fmt:formatDate var="date" value="${now}"
type="date" dateStyle="long"/>
<fmt:formatDate var="time" value="${now}"
type="time" timeStyle="long"/>
<tr>
<td>4</td>
<td>long</td>
<td>${date}</td>
<td> ${time}</td>
</tr>
<fmt:formatDate var="date" value="${now}"
type="date" dateStyle="full"/>
<fmt:formatDate var="time" value="${now}"
type="time" timeStyle="full"/>
<tr>
<td>5</td>
<td>full</td>
<td>${date}</td>
<td> ${time}</td>
</tr>
</table>
<p/>
<fmt:formatDate value="${now}" var="result"
type="both" pattern="yyyy年MM月dd日 hh时mm分ss秒"/>
自定义显示当前时间:${result}
</body>
</html>
启动服务器,访问http://localhost:8080/JSTLELDemo/demo04.jsp:
作业部分:使用EL实现注册功能
1、在web目录里创建注册页面register.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>用户注册</title>
<style>
td,body{
padding:5px;
font-size:20px;
}
</style>
</head>
<body>
<form name="form1" method="post" action="do_register.jsp">
<table width="400" height="30" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="76" align="center">name:</td>
<td width="324">
<input name="user" type="text" id="user"> </td>
</tr>
<tr>
<td align="center">password:</td>
<td><input name="pwd" type="password" id="pwd"></td>
</tr>
<tr>
<td align="center">Birth Date:</td>
<td><input name="birthday" type="date" id="birthday">(Use format yyyy-mm-dd)</td>
</tr>
<tr>
<td align="center">E-mail:</td>
<td><input name="email" type="text" id="email" size="45">(name@company.com)</td>
</tr>
<tr>
<td align="center">Gender:</td>
<td><input name="sex" type="radio" value="Male" checked="checked">
Male
<input name="sex" type="radio" value="Female">
Female</td>
</tr>
<tr>
<td align="center">Lucky Number:</td>
<td><input name="number" type="number" id="number" size="45"> (A number between 1 and 100)</td>
</tr>
<tr>
<td align="center" >Hobby:</td>
<td><input name="affect" type="checkbox" id="affect" value="Swim">
Swim
<input name="affect" type="checkbox" id="affect1" value="Traveling">
Traveling
<input name="affect" type="checkbox" id="affect2" value="Read">
Read
<input name="affect" type="checkbox" id="affect3" value="Singing">
Singing</td>
</tr>
<tr>
<td align="center">Remarks:</td>
<td><textarea name="memo" cols="43" rows="5" id="memo"></textarea></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="Submit" value="注册">
<input type="reset" name="Submit2" value="重置"></td>
</tr>
</table>
</form>
</body>
</html>
2、在web目录里创建验证注册页面do_register.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%
request.setCharacterEncoding("utf-8");
%>
<%
String user=request.getParameter("user"); //获取文本框的值
String pwd=request.getParameter("pwd"); //获取密码域的值
String birthday=request.getParameter("birthday"); //获取密码域的值
String email=request.getParameter("email"); //获取文本框的值
String number=request.getParameter("number"); //获取文本框的值
String sex=request.getParameter("sex");//获取单选按钮的值
/*****************获取复选框的值**********************/
String[] arrAffect=request.getParameterValues("affect"); //获取复选框的值
String affect="";
if(arrAffect!=null){
//通过for循环遍历获取到的数组
for(int i=0;i<arrAffect.length;i++){
affect+=arrAffect[i]+","; //输出当前元素
}
System.out.println(affect.length());
affect=affect.substring(0,affect.length()-1); //去除字符串中最后一个逗号
}
/*****************************************************/
String memo=request.getParameter("memo"); //获取编辑框的值
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>获取用户注册信息</title>
<style>
td,body{
padding:5px;
font-size:12px;
}
</style>
</head>
<body>
<form name="form1" method="post" action="">
<table width="400" height="30" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#333333">
<tr>
<td width="76" align="center" bgcolor="#FFFFFF">Name:</td>
<td width="324" bgcolor="#FFFFFF"> ${param.user }</td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF">Password:</td>
<td bgcolor="#FFFFFF"> ${param.pwd }</td><!--使用EL表达式向浏览器输出-->
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF">Birth date:</td>
<td bgcolor="#FFFFFF"> ${param.birthday }</td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF">E-mail:</td>
<td bgcolor="#FFFFFF"> ${param.email }</td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF">Gender:</td>
<td bgcolor="#FFFFFF"> ${param.sex }</td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF">Hobby:</td>
<td bgcolor="#FFFFFF"> ${paramValues.affect[0]} ${paramValues.affect[1]} ${paramValues.affect[2]} ${paramValues.affect[3]}</td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF">Lucky Number:</td>
<td bgcolor="#FFFFF"> ${param.number}</td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF">Remarks:</td>
<td bgcolor="#FFFFFF"> ${param.memo }</td>
</tr>
<tr>
<td colspan="2" align="center" bgcolor="#FFFFFF"><a href="index.html">返回</a></td>
</tr>
</table>
</form>
</body>
</html>
启动服务器,访问http://localhost:8080/JSTLELDemo/register.jsp: