阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

JSP动作标签

163次阅读
没有评论

共计 1509 个字符,预计需要花费 4 分钟才能阅读完成。

1、JSP 动作标签概述

动作标签的作用是用来简化 Java 脚本的!

JSP 动作标签是 JavaWeb 内置的动作标签,它们是已经定义好的动作标签,我们可以拿来直接使用。

如果 JSP 动作标签不够用时,还可以使用自定义标签(今天不讲)。JavaWeb 一共提供了 20 个 JSP 动作标签,但有很多基本没有用,这里只介绍一些有坐标的动作标签。

JSP 动作标签的格式:<jsp: 标签名 …>

2、<jsp:include>

jsp:include标签的作用是用来包含其它 JSP 页面的!你可能会说,前面已经学习了 include 指令了,它们是否相同呢?虽然它们都是用来包含其它 JSP 页面的,但它们的实现的级别是不同的!

include 指令是在编译级别完成的包含,即把当前 JSP 和被包含的 JSP 合并成一个 JSP,然后再编译成一个 Servlet。

include 动作标签是在运行级别完成的包含,即当前 JSP 和被包含的 JSP 都会各自生成 Servlet,然后在执行当前 JSP 的 Servlet 时完成包含另一个 JSP 的 Servlet。它与 RequestDispatcher 的 include()方法是相同的!

hel.jsp

<body>
<h1>hel.jsp</h1>
<jsp:include page="lo.jsp" />
</body>

lo.jsp

<%
out.println("<h1>lo.jsp</h1>");
%>

JSP 动作标签

其实 jsp:include 在“真身”中不过是一句方法调用,即调用另一个 Servlet 而已。

3、<jsp:forward>

forward 标签的作用是请求转发!forward 标签的作用与 RequestDispatcher#forward()方法相同。

hel.jsp

JSP 动作标签

lo.jsp

<%
out.println("<h1>lo.jsp</h1>");
%>

注意,最后客户端只能看到 lo.jsp 的输出,而看不到 hel.jsp 的内容。也就是说在 hel.jsp 中的

hel.jsp

是不会发送到客户端的。jsp:forward的作用是“别在显示我,去显示它吧!”。

4、<jsp:param>

还可以在 jsp:includejsp:forward标签中使用 jsp:param 子标签,它是用来传递参数的。下面用 jsp:include 来举例说明 jsp:param 的使用。

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>a.jsp</title>
</head>
<body>
<h1>a.jsp</h1>
<hr/>
<jsp:include page="/b.jsp">
<jsp:param value="zhangSan" name="username"/>
</jsp:include>
</body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>b.jsp</title>
</head>
<body>
<h1>b.jsp</h1>
<hr/>
<%
String username = request.getParameter("username");
out.print("你好:" + username);
%>
</body>
</html>

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-06-06发表,共计1509字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中