include
include指令
语法:<%@ include file="URL"%>
加载URL指向的页面
include动作
语法:<jsp:include page="URL" flush="true|false"/>
加载URL指向的页面
属性 | 含义 |
---|---|
page | 要包含的页面 |
flush | 被包含的页面是否从缓冲区读取 |
include指令与include动作的区别
include指令 | jsp:include动作 | |
---|---|---|
语法格式 | <%@ include file= “..” %> | <jsp:include page= “..” > |
发生作用的时间 | 页面转换期间 | 请求期间 |
包含的内容 | 文件的实际内容 | 页面的输出 |
转换成的Servlet | 主页面和包含页面转换成为一个Servlet | 主页面和包含页面转换为独立的Servlet |
编译时间 | 较慢——资源必须被解析 | 较快 |
执行时间 | 稍快 | 较慢——每次资源必须被解析 |
forward动作#
语法:<jsp:forward page="URL"/>
等同于:request.getRequestDispatcher("/url").forward(request,response);
即服务器内部跳转指令(服务器转发指令)
param动作#
语法:<jsp:param name="参数名" value="参数值">
常常与<jsp:forward>
一起使用,作为其的子标签。
page_two.jsp代码
<!--HTML代码-->
<body>
<jsp:forward page="page_three.jsp">
<jsp:param value="lazysleep" name="username"/>
<jsp:param value="lazysleep@email.com" name="email"/>
</jsp:forward>
</body>
<!--HTML代码-->
page_three.jsp代码
<!--HTML代码-->
<body>
<%
request.setCharacterEncoding("utf-8");
String username = "";
String password = "";
String email = "";
if(request.getParameter("username")!=null){
username = request.getParameter("username");
}
if(request.getParameter("password")!=null){
password = request.getParameter("password");
}
if(request.getParameter("email")!=null){
email = request.getParameter("email");
}
%>
用户名:<%=username %> <!--一定为lazysleep-->
密码:<%=password %> <!--表单提交的数据-->
电子邮箱:<%=email %> <!--一定为lazysleep@email.com-->
</body>
<!--HTML代码-->