快速学习JavaWeb之六:JSP动作标识

1,<jsp:include>

语法格式:
<jsp:include page="url" flush="false|true" />
top.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<img src="images/banner.JPG">
copyright.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	String copyright="&nbsp; All Coypright &copy; 2019 Hero 景易有限公司";
%>    
<table style="width:778px; height:61px; border:0; cellpadding:0; cellspacing:0; 
	background-image:url(images/copyright.JPG);">
  <tr>
    <td> <%= copyright %></td>
  </tr>
</table>
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP的include指令</title>
</head>
<body style="margin:0px;">

<jsp:include page="top.jsp"/> 
<table style="width:778px; height:279px; border:0; cellpadding:0; cellspacing:0; 
	background-image:url(images/center.JPG);">
  <tr>
    <td>&nbsp;</td>
  </tr>
</table>
<jsp:include page="copyright.jsp"/>

</body>
</html>
结果:

在这里插入图片描述

<jsp:include><%@ include file="xxx.jsp" %>的区别?
// 从使用上看区别不大
<%@ include file="top.jsp" %> // 指令标识
<jsp:include page="top.jsp" /> // 动作标识

指令标识:只能静态包含加载
动作标识:包含的文件可以是动态文件, 也可以是静态文件

区别1:

include指令 用来包含文件的file属性不支持任何表达式
jsp:include page属性支持JSP表达式

区别2:

include指令 被包含的文件原封不到的插入到包含页,JSP编译器最终编译成一个Java文件
jsp:include动作标识 包含文件时,当该标识被执行时, 转发(不是重定向)到被包含的页面,输出结果到浏览器中,再返回包含页,继续前面的操作,所以JSP会编译生成多个文件

区别3:

因为区别2的原因,include指令包含文件,最终生成一个文件,所以文件之间不能有重名的变量或方法
jsp:include动作标识,每个包含文件是单独编译的,所以每个文件它们重名的变量或方法之间不相冲突

2,<jsp:forward>

作用:将请求转发到其他的Web资源(JSP页面,HMTL页面,Servlet等)
语法:

<jsp:forward page="url"/>

在这里插入图片描述

代码:

login_index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>中转页</title>
</head>
<body>
<jsp:forward page="login.jsp"/>
</body>
</html>

login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户登录</title>
</head>
<body>
<form name="form1" method="post" action="">
用户名:<input name="name" type="text" id="name" style="width: 120px"><br>&nbsp;&nbsp;码:<input name="pwd" type="password" id="pwd" style="width:120px"><br>
<br>
<input type="submit" name="submit" value="提交">
</form>
</body>
</html>

显示: 运行login_index.jsp直接转发到login.jsp页面
在这里插入图片描述

3,<jsp:param>

作为其它标识的子标识,可传递参数到其它目标页面

<jsp:param name="参数名" value="参数值"/>

传递多个值

<jsp:param name="参数名1" value="参数值1"/>
<jsp:param name="参数名2" value="参数值2"/>

在目标页面取值

<%
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
%>

样例:

loggin_index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>中转页</title>
</head>
<body>
<jsp:forward page="login.jsp">
	<jsp:param value="liujing" name="name"/>
	<jsp:param value="123456" name="pwd"/>
</jsp:forward>

</body>
</html>

login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户登录</title>
</head>
<body>
<%
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
%>
传递的参数[name]:<%= name %><br>
传递的参数[pwd]:<%= pwd %>
</form>
</body>
</html>

显示
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值