指令
(1)jsp指令用来设置整个jsp页面相关的属性,如我也的编码方式和脚本语言
指令可以有很多个属性,它们以键值对的形式存在,并用逗号隔开
jsp中的三种指令标签:
指令 | 描述 |
<%@ page...%> | 定义网页依赖属性,比如脚本语言 |
<%@ include...%> | 包含其他文件 |
<%@ taglib...%> | 引入标签库的定义 |
(2)page指令
page指令为容器提供当前页面的使用说明,一个jsp页面可以包含多个page指令
page指令的语法格式:
<%@ page attribute="value"%>
等价的XML格式:
<jsp:directive.page attribute="value" />
(3)属性
属性 | 描述 |
---|---|
buffer | 指定out对象使用缓冲区的大小 |
autoFlush | 控制out对象的缓存区 |
contentType | 指定当前jsp页面的MIME类型和字符编码 |
errorPage | 指定当jsp页面发生异常时需要转向的错误处理页面 |
isErrorPage | 指定当前页面是否可以作为另外一个jsp页面的错误处理页面 |
extends | 指定servlet从哪一个类继承 |
import | 导入要使用的java类 |
info | 定义jsp页面的描述信息 |
isThreadSafe | 指定对jsp页面的访问是否为线程安全 |
language | 定义jsp页面所用的脚本语言,默认是java |
session | 指定jsp页面是否使用session |
isEIgnored | 指定是否执行EL表达式 |
isScriptingEnabled | 确定脚本元素能否被使用 |
(4)include指令
jsp通过include指令来包含其他文件,被包含的文件可以是jsp文件、HTML文件或文本文件。包含的文件就好像是该jsp文件的唯一部分,会被同时编译执行
include指令的语法格式:
<%@ include file="文件相对URL地址"%>
include指令中的文件名实际上是一个相对的url地址
(5)taglib指令
jsp api允许用户自定义,一个自定义标签库是自定义标签的集合
tagbib指令的语法
<%@ taglib url="url" prefix="prefixOfTag"%>
jsp动作元素
(1)jsp动作元素在请求处理阶段起作用。jsp动作元素用XML写成的
利用jsp动作可以动态地插入文件、重用Javabean徐建、把用户重定向另外的页面、为java插件生成html代码
动作元素基本上都是预定义的函数,jsp规范了一系列的标准动作,它用jsp作为前缀,可以的标准动作如下:
语法 | 描述 |
jsp:include | 在页面被请求的时候引入一个文件 |
jsp:useBean | 寻找或者实例化一个Javabean |
jsp:setProperty | 设置Javabean的属性 |
jsp:getProperty | 输出某个Javabean的属性 |
jsp:forward | 把请求转到一个新的页面 |
jsp:plugin | 根据浏览器类型为java插件生成object或embed标记 |
jsp:element | 定义动态XML元素 |
jsp:attribute | 设置动态定义的XML元素属性 |
jsp:body | 设置动态定义的XML元素内容 |
jsp:text | 在jsp页面和文档中使用写入文本的模板 |
实例:
<%@page import="com.zking.entity.User"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
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>Insert title here</title>
</head>
<body>
<!-- 指令包含(静态包含):所有被包含页面只有在单独执行的时候才会被编译 -->
<%@include file="header.jsp"%>
<h2>我是正文</h2>
<!-- 标签包含(动态包含):所有被包含页面都会自动被编译 是可以与被包含界面交互(传值)-->
<jsp:include page="footer.jsp">
<jsp:param value="1" name="tid"/>
</jsp:include>
<%-- <%
//java的转发
//request.getRequestDispatcher("header.jsp").forward(request, response);
%> --%>
<!-- 标签转发 必须得会 特别注意注释方式-->
<%-- <jsp:forward page="footer.jsp"></jsp:forward> --%>
<hr>
<!-- 相当于实例化 -->
<jsp:useBean id="u" class="com.zking.entity.User"></jsp:useBean>
<!-- 给对象u赋值 -->
<%-- <jsp:setProperty property="uname" name="u"/>
<jsp:setProperty property="upwd" name="u"/> --%>
<jsp:setProperty property="*" name="u"/>
<!-- 拿对象的值 -->
<jsp:getProperty property="uname" name="u"/>
<jsp:getProperty property="upwd" name="u"/>
</body>
</html>