include指令

  JSP中有三大指令:page,include,taglib,之前已经说过了page的用法。这里介绍下include。

  使用语法如下:

<%@ include file="URL"%>

  比如有一个页面要包含另一个date.jsp页面,date.jsp提供一个时间输出:

<%@ page language="java" import="java.util.*,java.io.*" contentType="text/html; charset=utf-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<h1>include</h1>
<%@ include file="date.jsp"%>
</body>
</html>

  包含的date.jsp如下:

<%@page import="java.text.SimpleDateFormat"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
import="java.util.*"
pageEncoding="utf-8"%>
<%
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 hh:MM:ss");
Date d = new Date();
String s = sdf.format(d);
out.println(s);
%>

  运行结果:

  查看生成的源码,可以发现,两个页面变成了一个文件:

  查看源码发现,可以更好的理解

  include动作

  使用include动作标签也可以完成上述的操作,添加标签如下:

<jsp:include page="date.jsp" flush="true" />

  可以达到上面同样的效果。

  观察发现,此时访问jsp生成了四个文件:

  观察源码可以更好的理解:

  include指令与动作的区别

  一张图很好的说明了他们的区别(来源:慕课网):

  forward动作

  forward动作是使用jsp:forwad标签实现:

<jsp:forward page="URL" />

  可以达到与request.getRequestDispatcher("/url").forward(request,response)同样的效果。

  param动作

  常常与forward标签搭配使用,传递一些参数值:

    <jsp:forward page="userForward.jsp">
<jsp:param value="test@qq.com" name="email"/>
<jsp:param value="666666" name="password"/>
</jsp:forward>

  例如,登陆界面loginForward.jsp登录用户名密码,经过处理界面doLoginForward.jsp处理后,修改密码并新添加email参数后,转发给显示页面userForward.jsp。

  loginForward.jsp代码如下

<%@ page language="java" contentType="text/html; charset=utf-8"
import="java.net.*"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>用户登录</title>
</head>
<body>
<h1>loginForward</h1>
<hr>
<form name="loginForm" action="doLoginForward.jsp" method="post">
<table>
<tr>
<td>username</td>
<td><input type="text" name="username" ></input></td>
</tr>
<tr>
<td>password</td>
<td><input type="password" name="password" ></input></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="submit"/></td>
</tr>
</table>
</form>
</body>
</html>

  doLoginForward.jsp代码如下:

<%@ page language="java" contentType="text/html; charset=utf-8"
import="java.net.*"
pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>用户登录</title>
</head>
<body>
<h1>loginForward</h1>
<hr>
<jsp:forward page="userForward.jsp">
<jsp:param value="test@qq.com" name="email"/>
<jsp:param value="666666" name="password"/>
</jsp:forward>
</body>
</html>

  userForward.jsp代码如下:

<%@ page language="java" contentType="text/html; charset=utf-8"
import="java.net.*"
pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>用户登录</title>
</head>
<body>
<h1>userForward</h1>
<hr>
<%
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 %>
密码:<%=password %>
邮箱:<%=email %> </body>
</html>

JSP中include动作与指令的更多相关文章

  1. 浅谈JSP中include指令与include动作标识的区别

    JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...

  2. 转: JSP中include指令和include动作的区别

    include指令是编译阶段的指令,即include所包含的文件的内容是编译的时候插入到JSP文件中,JSP引擎在判断JSP页面未被修改,否则视为已被修改.由于被包含的文件是在编译时才插入的,因此如果 ...

  3. [JSP]JSP中include指令和include动作的差别

    include指令是编译阶段的指令,即include所包括的文件的内容是编译的时候插入到JSP文件里,JSP引擎在推断JSP页面未被改动,否则视为已被改动. 因为被包括的文件是在编译时才插入的.因此假 ...

  4. 牛客网Java刷题知识点之什么是JSP的3大常用指令、JSP的6大哪些动作、JSP中include指令和include动作有什么区别

    不多说,直接上干货! JSP的3大常用指令 包含指令(Include directive):用来包含文件和合并文件内容到当前的页面. 页面指令(Page directive):用来定义JSP页面中特定 ...

  5. jsp中的动作标签

    和html标签一样,使用尖括号'<>'包裹起来. 用于在jsp页面中处理业务逻辑,避免在jsp中过多的使用java脚本. <jsp:forward>用于请求转发,它与Reque ...

  6. JAVA基础之sql模糊匹配、外键以及jsp中include的用法

    一.SQL模糊匹配 适用于对字符串进行模糊搜索 格式:   字段名 Like '%关键词%'      %          表示这个位置可有任意个字符(没有也可以) %关键词%  只要包含关键词就算 ...

  7. JSP中include指令和include动作区别

    首先 <%@ include file=” ”%>:为指令元素 <jsp:include page=” ” flush=”true”/>:为 动作元素 先说指令元素: incl ...

  8. JSP中include指令和include动作浅析

    一. JSP工作原理 JSP文件是一种Servlet,其工作方式是先部署源代码后编译为.class文件.JSP会在客户端第一次请求JSP文件时被编译成Servlet,由Servlet处理客户端的请求. ...

  9. 【jsp】jsp中的动作元素

    一,动作元素(Action):预定义的java代码.目的在于代码的可重用性. 1,为请求阶段提供信息,允许在页面之间转移控制权.  2,JSP2.0规范定义了标准动作,标准动作是一些标签,影响JSP运 ...

随机推荐

  1. VBS映射网络驱动器 映射网络驱动器

    Dim objNetwork Set objNetwork = CreateObject("Wscript.Network") if objNetwork.EnumNetworkD ...

  2. Phyton Flask框架学习记录。

    注意:在左侧菜单栏(在JQuery插件库下载的)右边是采用<iframe> 标签嵌入其他页面,此时标签的src应用用后台中的方法名称(本人测试用的是无参数的方法), 而页面跳转window ...

  3. 【记录】dvwa总结

    一.Brute Force 选择集束炸弹 设置payload stack attck 防御:密码加密,使用验证码,使用统一的参数代替帐号和密码. 二.Command Injection |,||,&a ...

  4. MongoDB复杂查询语句记录

    前段时间做业务监控,用到了MongoDB,有一个查询是把一个含array的list里面查询array中是否存在某一对unique值,不存在的情况下插入一条记录. 类似这样一个表: Biao{ id, ...

  5. 05-ognl基本语法

    1 基本取值 @Test //1基础语法演示-基本取值 //取出root中的属性值 public void fun2() throws Exception{ //1 准备OGNLcontext Ogn ...

  6. 深度学习(五)基于tensorflow实现简单卷积神经网络Lenet5

    原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/8954892.html 参考博客:https://blog.csdn.net/u01287127 ...

  7. TOJ 1840 Jack Straws

    Description In the game of Jack Straws, a number of plastic or wooden "straws" are dumped ...

  8. android studio 框架搭建:加入注解框架Annotations

    参考github上的demo,新建一个project后,会有一个位于app文件夹下的局部build.gradle文件和一个位于根目录project下的全局build.gradle文件,我们要修改的是局 ...

  9. Linux文本处理工具

    Linux文本处理工具 Linux中熟练的使用文本处理工具非常的重要, 因为Linux在设计的时候是采用一切皆文件的哲学的, 甚至连计算机中的配置也都使用伪文件系统来表示, 要查询里面的内容就是对文件 ...

  10. MVC5 下拉框绑定(单选)

    1.Model [Display(Name = "学历")] public ICollection<System.Web.Mvc.SelectListItem> asd ...