一. 介绍3个Jsp动作标签
1. <jsp:include page=""></jsp:include>
2. <jsp:param value="" name=""/>
3. <jsp:forward page=""></jsp:forward>
二. jsp:include标签
1. jsp:include包含指定的页面, 这里是动态包含。也就是不把包含的页面所有元素标签全部拿过来输出, 而是把它的运行结果拿过来。
2. 新建一个名字叫做JspDongZuoBiaoQian的Web工程
3. 新建index.jsp和inner.jsp
4. 编辑inner.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>被包含的Jsp页面</title>
</head>
<body>
<h1>被包含的Jsp页面</h1>
</body>
</html>
5. 编辑index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Jsp动作标签</title>
</head>
<body>
<!-- 使用jsp动作标签包含一个页面 -->
<jsp:include page="inner.jsp"/>
</body>
</html>
6. 部署运行
7. 查看网页源代码, index.jsp包含着inner.jsp的网页内容
三. jsp:forward标签
1. jsp:forward: 前往一个页面。
2. 新建一个forward.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>jsp:forward动作标签</title>
</head>
<body>
<!-- 使用jsp动作标签跳转到另外一个界面包含一个页面 -->
<jsp:forward page="other.jsp"></jsp:forward>
<%-- <% request.getRequestDispatcher("other.jsp").forward(request, response); %> --%>
</body>
</html>
3. 新建一个other.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>jsp:forward过来的页面</title>
</head>
<body>
<h1>jsp:forward过来的页面</h1>
</body>
</html>
4. 部署运行, 来到了other.jsp, 可是只有一次请求, 地址栏中请求地址不变
5. <jsp:forward page="other.jsp"/>等价于
<%request.getRequestDispatcher("other.jsp").forward(request,response);%>
四. jsp:param标签
1. jsp:param: 在包含某个页面的时候或者在跳转某个页面的时候, 传递参数。
2. 修改forward.jsp
3. 修改other.jsp
4. 部署运行
五. JSP页面中<%!%>与<%%>与<%=%>
1. <% %>叫做脚本片段, 其中写的内容会翻译在Servlet的Service方法中, 显然我们可以在Service方法中定义局部变量或者调用其他方法, 但是不能在Service中再定义其他的方法, 也就是我们可以在<%%>中定义局部变量或者调用方法, 但不能定义方法。
2. <%!%>称作声明, 其中写的内容将来会直接翻译在Servlet类中, 因为我们可以在类中定义方法和属性以及全局变量, 所以我们可以在<%!%>中声明方法、属性、全局变量。
3. <%=%>称作jsp表达式, 用于将已经声明的变量或者表达式输出到网页上面。