资源描述
精品文档
实验四:EL表达式和JSTL标签库的使用
一、 实验的目的
(1)掌握EL表达式的使用。
(2)掌握JSTL标签库的使用。
二、 实验内容与要求
(1)学习EL表达式的原理和使用。
(2)了解JSTL标签库的原理及使用。
(3)EL实例的调试。
(4)JSTL实例的调试。
三、 实验主要步骤
1. EL表达式实例程序的调试
(1)源代码el.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>My JSP 'el.jsp' starting page</title></head>
<body>
45+36=${45+36}<br/>
<%=pageContext.getAttributesScope("info") %><br/>
${info}<br/>
ID:${user.id}<br/>
ID:${requestScope.user.id}<br>
ID:${user[id]}<br/>
name:${user.name}<br/>
age:${user.age}<br/>
salary:${user.salary}
空么?= ${empty user }><br/>
Age>20:${user.age>=20 }<br/>
ID is empty:${empty user.id }<br/>
</body>
</html>
(2)源代码employeemain.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ taglib uri=" prefix="c"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>员工管理主菜单</title></head>
<body>
<h1>员工列表</h1>
<hr/>
<table width="100%" border="1">
<tr bgcolor="#99FFFF"><td width="14%">编号</td>
<td width="14%">姓名</td><td width="14%">性别</td>
<td width="14%">省份</td><td width="14%">城市</td>
<td width="14%">民族</td><td width="20%">操作</td>
</tr>
<c:forEach var="emp" items="${emplist}">
<tr>
<td width="14%"><a href="toview.do?id=${emp.stu_id}">${emp.stu_name }</a></td>
<td width="14%">${emp.stu_id}</td> <td width="14%">${emp.sex}</td>
<td width="14%">${emp.province}</td><tdwidth="14%">${emp.area}</td>
<td width="14%">${emp.nation}</td>
<td width="20%"><a href="toModofy.do?id=${emp.stu_id}">修改</a>
<a href="toDelete.do?id=${emp.stu_id}">删除</a></td>
</tr> </c:forEach>
</table>
</body>
</html>
运行结果截图:
2. JSTL标签库的使用程序实例的调试
(1)源代码fmt02.jsp
<%@ taglib uri=" prefix="c" %>
<html>
<head><title>JSTL日期格式案例</title></head>
<body>
<h1>JSTL日期格式标记</h1>
<hr>
<jsp:useBean id="now" class="java.util.Date"></jsp:useBean>
<fmt:setLocale value="zh_CN"/>
full格式日期:
<fmt:formatDate value="${now}" type="both" dateStyle="full" timeStyle="full"/><br>
long格式日期:
<fmt:formatDate value="${now}" type="both" dateStyle="long" timeStyle="long"/><br>
medium格式日期:
<fmt:formatDate value="${now}" type="both" dateStyle="medium" timeStyle="medium"/><br>
default格式日期:
<fmt:formatDate value="${now}" type="both" dateStyle="default" timeStyle="default"/> <br>
short格式日期:
<fmt:formatDate value="${now}" type="both" dateStyle="short" timeStyle="short"/><br>
<hr>
</body>
</html>
运行结果截图:
(2)源代码jstl01.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ taglib uri=" prefix="c" %>
<%@ taglib uri=" prefix="fmt" %>
<%@ taglib uri=" prefix="sql" %>
<%@ taglib uri=" prefix="x" %>
<%@ taglib uri=" prefix="fn" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>JSTL应用</title></head>
<body>
<h1>c:forTokens标记使用</h1>
<hr/>
<c:set var="infos" value="10,30,40,50,60" />
<c:forTokens items="${infos}" delims="," var="info" varStatus="status">
<c:out value="${status.index}" />-
<c:out value="${status.count}" />-
<c:out value="${info}" /><br/>
</c:forTokens>
<hr/>
</body>
</html>
运行截图:
(3)源代码sql01.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri=" prefix="c" %>
<%@ taglib uri=" prefix="fmt" %>
<%@ taglib uri=" prefix="sql" %>
<%@ taglib uri=" prefix="x" %>
<%@ taglib uri=" prefix="fn" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>使用JSTL SQL标记</title></head>
<body>
<sql:setDataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/student" user="root" password="root" var="infoData" scope="request" />
<sql:query sql="select * from stuinfo" dataSource="${infoData}" var="emplist" scope="request"> </sql:query>
<h1>员工列表</h1>
<hr/>
<table width="100%" border="1">
<tr bgcolor="#99FFFF">
<td >编号</td>
<td width="14%">姓名</td>
<td width="14%">性别</td>
<td width="14%">省份</td>
<td width="14%">城市</td>
<td width="14%">民族</td>
<td width="20%">操作</td>
</tr>
<c:forEach var="row" items="${emplist.rows}">
<tr>
<td width="14%"><a href="toview.do?id=${row.stu_id}">${row.stu_name }</a></td>
<td width="14%">${row.stu_id}</td>
<td width="14%">${row.sex}</td>
<td width="14%">${row.province}</td>
<td width="14%">${row.area}</td>
<td width="14%">${row.nation}</td>
<td width="20%"><a href="toModofy.do?id=${row.empid}">修改</a>
<a href="toDelete.do?id=${row.empid}">删除</a></td>
</tr>
</c:forEach>
</table>
<hr/>
</body>
</html>
运行截图:
四、 结论与体会
EL表达式的目的是使用简洁的语法来替代jsp的表达式脚本<%=表达式%>,在jsp页面中输出动态的内容。Jstl实现 web应用中jsp页面各种任务的统一化标记,解决了不同公司和组织使用不同的自定义标记的混乱巨额面,减轻了开发人员的学习时间和工作成本。
精品文档
展开阅读全文