Jsp指令与动作元素

1、include指令

//语法
<%@ include file="URL" %>
//include_command.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>include指令</title>
</head>
<body>
	<h1>include指令</h1>
	<hr/>
	<%@include file="date.jsp" %>
</body>
</html>
//date.jsp
<%@page import="java.util.Date,java.text.*"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		Date d = new Date();
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
		String s = sdf.format(d);
		out.println(s);
	%>
</body>
</html>

2、include动作

语法:

<jsp:include page="URL" flush="true|false" />
page: 需要包含的页面;
flush:被包含页面是否从缓冲区读取;
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>include动作</title>
</head>
<body>
	<h1>include动作</h1>
	<jsp:include page="date.jsp" flush="true"></jsp:include>
</body>
</html>

3、include指令与include动作的区别

在这里插入图片描述最大的区别在于,include指令只产生了一个Servlet,其中会包含file页面的源代码;
而include动作会产生主页面和包含页面的独立的两个或者多个Servlet,主页面代码中仅仅是调用包含页面代码的关系;

4、<jsp:forward>动作

语法:

<jsp:forward page="URL"/>
等同于:request.getRequestDispatcher("url").forward(request,response);

5、<jsp:param>动作

语法:

<jsp:param name="参数名" value="参数值"/>
常常和<jsp:forward>一起使用,作为其的字标签
//login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>登录系统</h1>
	<hr/>
	<form action="dologin.jsp" method="post">
		<table>
			<tr>
				<td>
					用户名:<input type="text" name="username">
				</td>
			</tr>
			<tr>
				<td>
					密码:<input type="text" name="password">
				</td>
			</tr>
			<tr>
				<td colspan="2">
					<input type="submit" value="登陆">
				</td>
			</tr>
		</table>
	</form>
	
</body>
</html>
//dologin.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<jsp:forward page="user.jsp" >
		<jsp:param value="123456@163.com" name="e-mile" />
	</jsp:forward>
</body>
</html>
//user.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>user.jsp</title>
</head>
<body>
	<%
		request.setCharacterEncoding("utf-8");
		String username="";
		String password="";
		String emile="";
		if(request.getParameter("username")!=null){
			username=request.getParameter("username");
		}
		if(request.getParameter("password")!=null){
			password = request.getParameter("password");
		}
		if(request.getParameter("e-mile")!=null){
			emile=request.getParameter("e-mile");
		}
	%>
	用户名:<%=username %><br/>
	密码:<%=password %><br/>
	E-mile:<%=emile %><br/>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值