JSP笔记
指令元素
JSP的指令元素主要包括:page指令,include指令以及taglib指令。他们都是JSP中的编译指令。编译指令就是告诉JSP引擎,如何处理其他的JSP网页。JSP编译指令的语法格式如下
<%@ 指令名 属性=“属性值”%>
page指令
功能:定义整个JSP页面的属性及属性值。
语法格式如下
<%@ page 属性1="值" 属性2="值" ... %>
page指令常用属性
属性值 | 属性值含义 |
---|---|
lauguage | 定义JSP网页所使用的脚本语言种类,其默认值是java |
import | 指定JSP网页中需要导入的java包列表 |
buffer | 设置此网页输出时所使用的缓冲区大小。buffer的值可以为"none",也可以是一个数值。其默认值是8Kb |
autoFlush | 指定当缓冲区满时是否自动输出缓冲区的数据(其值为布尔类型)。如果为true,输出正常,否则当缓冲区满时将抛出异常。其默认值是true。注意,如果把buffer的值设置为none,那么把autoFlush的值设置为false就是非法的。 |
info | 指明网页的说明信息,可使用Servlet类的getServletInfo方法获取此信息 |
isErrorPage | 设置此网页是否是另一个人JSP页面的错误信息的提示页面。如果为true,就能使用excepption对象,否则exception对象不可用 |
errorPage | 设置JSP页面发生错误时的信息提示页面的URL路径。该属性的值必须是一个用"URL路径"来描述的JSP页面 |
contentType | 定义了JSP网页所使用的字符集以及JSP响应的MIME类型。去缺省字符集是ISO-8859-1 |
注意:page指令作用于整个JSP页面以及由include指令和jsp:include包含进来的静态文件中,但不能用于动态包含文件。可以在一个页面上使用多个page指令,但其中的属性只能使用一次(import属性例外)。page指令可以放在JSP文件的任何地方,但为了增强程序的可读性,好的编程习惯一般把他们放在文件顶部。
import指令
创建一个java类(Admin-cap.bean),在其中加入我们需要的数据属性,方法和接口
可以通过eplise中Source下的 Generate Constructor from Superclass ,Generate Constructor using Fields 和 Generate Getters and Setters…进行快速生成
package cap.bean;
public class Admin {
private int id;
private String username;
private String password;
public Admin() {}
public Admin(int id, String username, String password) {
this.id = id;
this.username = username;
this.password = password;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
创建一个新的jsp文件(pageimport)导入我们的类
<%@ page import="cap.bean.Admin"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>page指令的import属性的使用</title>
</head>
<body>
<%
Admin admin = new Admin();
admin.setId(1001);
admin.setUsername("cap");
admin.setPassword("cap");
%>
用户名:<%=admin.getUsername()%><br> 密码:<%=admin.getPassword()%>
</body>
</html>
运行结果
当然我们也可以将程序修改一下
<%@ page import="cap.bean.Admin"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>page指令的import属性的使用</title>
</head>
<body>
<%
Admin admin = new Admin(1001,"cap","caps");
%>
用户名:<%=admin.getUsername()%><br> 密码:<%=admin.getPassword()%>
</body>
</html>
我们也可以得到相同的结果,这就是我们创建构造器的好处了
include指令
功能:指定在JSP文件中包含的一个静态的文件,即在JSP文件被编译时需要插入的文本或代码。
语法格式:
<%@ include file="文件名" %>
当使用include指令时,包含文件是静态包含,即这个被包含的文件将被插入到JSP文件中去。所包含的文件可以是JSP文件、HTML文件、文本文件、甚至一段Java代码。但是在所包含的文件中不能使用"",""标记,因为这会影响到原有的JSP文件中所使用的相同标记。如果所包含的是一个JSP文件,则该文件将被执行。
注意:属性file指出了被包含文件的路径。这个路径一般指相对路径,不需要指定端口,协议和域名。
include指令的使用
创建一个JSP文件(date)
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String sdate=sdf.format(date);
%>
当前日期:<%=sdate%>
代码解释:
创建一个date对象,使用SimpleDateFormat()对象进行格式化,格式化为(yyyy(年)-MM(月)-dd(日))的形式来输出日期。ps:MM是日,mm是毫秒
创建一个JSP(include)文件,使用include包含date文件
<%@ 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>
<%@ include file="date.jsp"%>
</body>
</html>
运行结果
由此可见,我们通过include指令执行了date文件。
学习工具:eclipse