jsp 语法
脚本程序可以包含任意量的Java语句、变量、方法或表达式,只要它们在脚本语言中是有效的。
任何文本、HTML标签、JSP元素必须写在脚本程序的外面。
jsp脚本就是Java代码片段,它分为三种:
<%...%>Java语句 可以存在一条或多条Java语句,每条语句必须以分号结束
<%=...%>Java表达式 表达式的结束不需要分号
<%!...%>Java定义类成员
<%--注释--%>jsp的注释
jsp 指令
JSP指令用来设置整个JSP页面相关的属性,如网页的编码方式和脚本语言。
语法格式如下:
<%@ directive attribute="value" %>
指令可以有很多个属性,它们以键值对的形式存在,并用逗号隔开。
JSP中的三种指令标签:
指令 | 描述 |
---|---|
<%@ page ... %> | 定义网页依赖属性,比如脚本语言、error页面、缓存需求等等 |
<%@ include ... %> | 包含其他文件 |
<%@ taglib ... %> | 引入标签库的定义 |
Page指令
Page指令为容器提供当前页面的使用说明。一个JSP页面可以包含多个page指令。一般写在页面的上方
Page指令的语法格式:
<%@ page attribute="value" %>
page相关的常用属性:
contentType | 指定当前JSP页面的MIME类型和字符编码 |
errorPage | 指定当JSP页面发生异常时需要转向的错误处理页面 |
isErrorPage | 指定当前页面是否可以作为另一个JSP页面的错误处理页面 |
language | 定义JSP页面所用的脚本语言,默认是Java |
session | 指定JSP页面是否使用session |
isELIgnored | 指定是否执行EL表达式 |
实例截图:
Include指令
JSP可以通过include指令来包含其他文件。被包含的文件可以是JSP文件、HTML文件或文本文件。包含的文件就好像是该JSP文件的一部分,会被同时编译执行。
Include指令的语法格式如下:
<%@ include file="文件相对 url 地址" %>
实例:
textA.jsp如下:
<%--
Created by IntelliJ IDEA.
User: lenovo
Date: 2018/7/11
Time: 20:04
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>A</title>
</head>
<body>
AAAAAAAAA
<%@include file="textB.jsp"%>
</body>
</html>
textB.jsp如下:
<%--
Created by IntelliJ IDEA.
User: lenovo
Date: 2018/7/11
Time: 20:05
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>B</title>
</head>
<body>
BBBBBBBBBBBBB
</body>
</html>
测试截图如下:由此我们可以看出编译textA.jsp的同时编译textB.jsp(注意生成的是两个.Java文件)
以下的Taglib指令还不懂
Taglib指令
JSP API允许用户自定义标签,一个自定义标签库就是自定义标签的集合。
Taglib指令引入一个自定义标签集合的定义,包括库路径、自定义标签。
Taglib指令的语法:
<%@ taglib uri="uri" prefix="prefixOfTag" %>
uri属性确定标签库的位置,prefix属性指定标签库的前缀。
jsp动作元素