一.JSP指令
JSP指令用来设置与整个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> <!-- jsp include 指令包含界面 --> <jsp:include page="second.jsp"></jsp:include> <!-- 使用form表单跳转 --> <!-- forward和form表单的action一样都是用来指向页面的 --> <%-- <jsp:forward page="second.jsp"></jsp:forward> --%> <form action="second.jsp" method="post"> <input type="text" name="name"><br> <input type="submit" value="跳转"> </form> </body> </html>
二.JSP隐含对象
JSP支持九个自动定义的变量,江湖人称隐含对象。这九个隐含对象的简介见下表:
对象 | 描述 |
---|---|
request | HttpServletRequest类的实例 |
response | HttpServletResponse类的实例 |
out | PrintWriter类的实例,用于把结果输出至网页上 |
session | HttpSession类的实例 |
application | ServletContext类的实例,与应用上下文有关 |
config | ServletConfig类的实例 |
pageContext | PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问 |
page | 类似于Java类中的this关键字 |
Exception | Exception类的对象,代表发生错误的JSP页面中对应的异常对象 |
三.Page指令
Page指令为容器提供当前页面的使用说明。一个JSP页面可以包含多个page指令。
Page指令的语法格式:
<%@ page attribute="value" %>
属性
下表列出与Page指令相关的属性:
属性 | 描述 |
---|---|
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 |
isELIgnored | 指定是否执行EL表达式 |
isScriptingEnabled | 确定脚本元素能否被使用 |
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!-- 导入java工具包 --> <%@ page import="java.util.*" %> <!-- 导入实体类 --> <%@ page import="com.jxyy.model.person" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <!-- 编写java代码 --> <% //获取include,jsp的数据 request.setCharacterEncoding("UTF-8"); String name = request.getParameter("name"); out.print(name+"<br>"); List<String> list = new ArrayList<>(); //往集合中添加数据 list.add("翩若惊鸿"); list.add("婉若游龙"); list.add("荣耀秋菊"); list.add("华若春松"); for(String str:list){ out.print(str+"</br>"); } //使用person类 person p = new person(); for(int i=0;i<list.size();i++){ %> <p>随意输出</p> <% } %> <%-- if和else --%> <% //创建数组 String [] str ={"a","b","c"}; for(String s:str){ if(s.equals("a")){ %> <h1>飘摇兮若流风之回雪</h1> <% }else if(s.equals("b")){ %> <h1>仿佛兮若轻云之蔽月</h1> <% }else{ %> <h1>皎若太阳升朝霞,灼若芙蕖出绿波</h1> <% } } %> </body> </html>
四.Include指令
JSP可以通过include指令来包含其他文件。被包含的文件可以是JSP文件、HTML文件或文本文件。包含的文件就好像是该JSP文件的一部分,会被同时编译执行。
Include指令的语法格式如下:
<%@ include file="文件相对 url 地址" %>
include 指令中的文件名实际上是一个相对的 URL 地址。
如果您没有给文件关联一个路径,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> <!-- jsp include 指令包含界面 --> <jsp:include page="second.jsp"></jsp:include> <!-- 使用form表单跳转 --> <!-- forward和form表单的action一样都是用来指向页面的 --> <%-- <jsp:forward page="second.jsp"></jsp:forward> --%> <form action="second.jsp" method="post"> <input type="text" name="name"><br> <input type="submit" value="跳转"> </form> </body> </html>