jsp学习笔记(二)
一、jsp的page指令
1、格式<%page 属性="值" 属性="值" %>
,一个jsp页面可以有多个page指令。
2、page指令中重要的一些属性
-
pageEncoding
:指定当前jsp页面的编码,注意pageEncoding
设置的编码要与当前jsp页面的编码一致,该编码是服务器将jsp编译为java文件时使用。 -
contentType
: 表示添加一个响应头,与response.setContextType("text/html;charsert=utf-8");
效果相同。该指令与pageEncoding
一般只设置其中之一,因为这两个指令配置一个,另一个会默认配置成相同的。 -
import
:导入java包,该属性可以出现多次,多个包之间用,
分隔. -
errorPage
:设置错误页面,这里是转发而不是重定向,所以不用带项目名称。 -
isErrorPage
:当前页面是否为错误页面,当将该属性设置为true
时,这个页面会设置状态码为500,且这个页面可以使用内置对象中的exception
。 -
autoFlush
:指定jsp的输出流缓冲区满时,是否自动刷新。 -
buffer
:指定缓冲区大小,默认为8kb。
二、jsp的include指令
与RequestDispatcher
的include()
方法的功能相似,但是<%@include file="jsp文件"%>
指令是在jsp编译成java文件是完成的合并,它们共同生成一个servlet文件。而RequestDispatcher
的include()
方法是最后输出时合并,生成两个servlet文件。
三、jsp的taglib指令
两个属性:
1、prefix
:指定标签库在本页面中的前缀,又我们起名。
2、uri
:指定标签的位置。
四、jsp的动作标签
1、<jsp:forward>
:转发,与RequestDispatcher
的forward()
方法是一样的。
2、<jsp:include>
:包含RequestDispatcher
的include()
方法是一样的。
3、<jsp:param>
:用来在转发中转递参数。
五、JavaBean规范
1、该类中必须为成员提供get/set
方法,如果只有get
方法,那么这个属性为只读属性。
2、必须要有默认无参构造器。
3、属性:有get/set
方法的成员变量,还可以没有成员变量,只有get/set
方法。属性名称由get/set
方法决定,而不是成员名称。
4、方法名称满足了一定的规范,那么他就是属性。
六、通过内省操作JavaBean
内省:
内省类——》Bean信息——》属性描述符——》属性的get/set
方法对应的Method
对象——》操作属性值
七、jsp中与JavaBean相关的标签
1、<jsp:useBean>
:创建或查找javabean <jsp:useBean id="bean的名字" class="bean的类型 scope="创建的域"/>
2、<jsp:setProperty>
:设置属性 <jsp:setProperty property="属性名" name="bean的名字" value="属性的值"/>
3、<jsp:getProperty>
:输出属性 <jsp:getProperty property="属性名" name="bean的名字"/>