关于jsp的三大指令、七大动作、九大对象

一 、jsp 9 个隐含对象
jsp 页面中可以在<%  %>中用到的隐含对象,什么叫隐含对象,就是你没有在页面中声明就可以用的对象

1、pageContext:可以获取到本页面中涉及的所有其他 8 个隐含对象的引用

2、session :浏览器和服务器的一次会话,是HttpSession 的一个对象

3、application:代表当前web应用.是servletContext的一个对象,能获取当前应用的初始化参数等..

4、config:是当前jsp 对应的ServletConfig对象的,若需要访问当前的jsp,必须通过

  <servlet>
<servlet-name></servlet-name>
<jsp-file></jsp-file>
</servlet>
<servlet-mapping>
<servlet-name></servlet-name>
<url-pattern></url-pattern>
</servlet-mapping>

5、out:JspWriter 对象,调用out.println()可以直接把字符串打印到jsp 页面上

6、page:此对象是jsp 对应的servlet对象的引用 ,类型为Object 所有一般无所用处....

7、request : HttpServletRequest 的一个对象


8、repsonse: HttpServletResponse 的一个对象

9、exception  :在page 指令 声明为isErrorPage=true的时候才能使用此隐式对象..

 
 
二、三个编译指令为:page、include、taglib。



 ①:page指令:

   
* import:等同与import语句
  <%@ page import="java.util.*" %>
  <%@ page import="java.util.*, java.net.*" %>
  在一个JSP页面中可以给出多个page指令,而且import是可以重复出现的
  <%@ page import="java.util.*" %>
  <%@ page import="java.next.*" %>
* pageEncoding:指定当前页面的编码
  如果pageEncoding没有指定,那么默认为contentType的值;
  如果pageEncoding和contentType都没有指定,那么默认值为iso-8859-1
  
* contentType:等同与调用response.setContentType("text/html;charset=xxx");
  如果没有指定contentType属性,那么默认为pageEncoding的值;
  如果contentType和pageEncoding都没有指定,那么默认值为iso-8859-1


* errorPage:如果当前页面出现异常,那么跳转到errorPage指定的jsp页面。

例如:<%@ page errorPage="b.jsp" %>


* isErrorPage:上面示例中指定b.jsp为错误页面,但在b.jsp中不能使用内置对象exception,保有b.jsp中使用<%@page isErrorPage="true"%>时,才能在b.jsp中使用错误页面。


* autoFlush:当autoFlush为true时,表示out流缓冲区满时会自动刷新。默认为true

* buffer:指定out流的缓冲区大小,默认为8KB

* isELIgnored:当前JSP页面是否忽略EL表达式,默认为false,表示不忽略,即支持EL表达式


page指令不常用的属性:
* language:当前JSP编译后的语言!默认为java,当前也只能选择java
* info:当前JSP的说明信息
* isThreadSafe:当前JSP是否执行只能单线程访问,默认为false,表示支持并发访问
* session:当前页面是否可以使用session,默认为false,表示支持session的使用。
* extends:指定JSP编译的servlet的父类!
 
 ②:include指令:
 语法:<%@include file="页面"%>
include指令的作用是包含指定的页面!在jsp被编译成java文件之前会把两个jsp文件合并,然后再编译成一个java文件。


注意:
<%@include file="<%=myfile%>" %>
这是不能通过编译的,因为myfile是一个变量,它的值只有在java编译成class后执行时才能确定。而include指令需要在jsp编译java时就要确定包含的是哪个页面,所以...
 
 ③:taglib指令:
 
 taglib指令:taglib指令是用来在当前jsp页面中导入第三方的标签库
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
prefix:指定标签前缀,这个东西可以随意起名
uri:指定第三方标签库的uri(唯一标识)
当然,需要先把第三方标签库所需jar包放到类路径中。  


三、七个动作指令为:jsp:forward、jsp:param、jsp:include、jsp:plugin、jsp:useBean、jsp:setProperty、jsp:getProperty。
 
 ①jsp:forward

  跳转页面:<jsp:forward page="login.jsp" />


   
 ②jsp:param

  param动作(传递参数)):到达跳转页面可以通过 request.getParameter(“参数名”)方式取出参数值


 
 ③jsp:include 动态包含(分别编译):
用jsp:include动作实现<jsp: include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。flush属性: 用true ,表示页面可刷新。默认为false;


 ④jsp:plugin

<jsp:plugin>:用于指定在客户端运行的插件


 ⑤jsp:useBean

  <jsp:useBean id="对象名" class="包名.类名" scope="作用范围(request/page/application/session)"/>作用域默认为page(本页面有效).


 
 ⑥jsp:setProperty
  setProperty动作(name为useBean动作中的id):为对象设置属性值:<jsp:setProperty name="javaBean对象" property="javaBean对象属性名" value=http://www.hake.cc/kf/201109/"值"/>为对象设置属性值:<jsp:setProperty property="javaBean对象属性名" name="javaBean对象" param="username"/>(param="username" 相当于 value=http://www.hake.cc/kf/201109/<%=request.getParameter("username")%>)


 ⑦jsp:getProperty
  getProperty动作(name为useBean动作中的id).从对象中取出属性值:<jsp:getProperty name="javaBean对象" property="javaBean对象属性名" />




 


 




 


 
 
   


  
 
 
 




 

猜你喜欢

转载自blog.csdn.net/qq_26837711/article/details/53414991