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指令

RequestDispatcherinclude()方法的功能相似,但是<%@include file="jsp文件"%>指令是在jsp编译成java文件是完成的合并,它们共同生成一个servlet文件。而RequestDispatcherinclude()方法是最后输出时合并,生成两个servlet文件。

三、jsp的taglib指令

两个属性:
1、prefix:指定标签库在本页面中的前缀,又我们起名。
2、uri:指定标签的位置。

四、jsp的动作标签

1、<jsp:forward>:转发,与RequestDispatcherforward()方法是一样的。
2、<jsp:include>:包含RequestDispatcherinclude()方法是一样的。
3、<jsp:param>:用来在转发中转递参数。

五、JavaBean规范

1、该类中必须为成员提供get/set方法,如果只有get方法,那么这个属性为只读属性。
2、必须要有默认无参构造器。
3、属性:有get/set方法的成员变量,还可以没有成员变量,只有get/set方法。属性名称由get/set方法决定,而不是成员名称。
4、方法名称满足了一定的规范,那么他就是属性。

六、通过内省操作JavaBean

jsp学习笔记(二)
内省:
内省类——》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的名字"/>