JSP - JSP中的脚本、指令、动作和注释

 

 

1  JSP的脚本元素

 

 1.1  声明:<%! int counter = 0 %>

 

    注意:声明的可以是成员变量,方法或内部类。不要用成员变量去做统计,因为如果 Servlet 实例是否被销毁是由服务器控制的,如果需要统计,则应该把统计的信息存储到数据库或是文件当中。会原封不动的放在 service() 方法体之外

 

1.2  表达式:<%= new java.util.Date() %>

 

    表达式将被添加到_jspService()方法体内,并被转换为: out.print(  new java.util.Date()  );

 

1.3 代码块:<% if(isLogin){} %>  

 

(1)本质上是一个 java  代码块,里面的注释方式跟 java  代码一样

(2)该代码块会原封不动的放在 servlet  _jspService()方法中,放置的位置会影响结

果,必须保证变量先声明后使用。

 

 

2 指令directive

 

2.1 page 指令<%@ page %>

 

(1)  <%@ page import =””%>      导入需要用到的类可导入多个包“,”分割

 

(2)  <%@ page isErrorPage =true%>  本页面是异常后跳转的页面

 

(3)  <%@ page errorPage=””%>    本页面错误之后转向的错误页面

 

(4)  <%@ page contentType =  "text/html;charset=GB2312"%>  设置文件格式和编码方式

 

(5)  <%@ page pageEncoding =””%>  设置页面显示的字符集 contentType    pageEncoding  的差异

 

(6)  <%@ page language =””%>    本页面使用的 scriting语言,默认是 java ,通常不写

 

(7)  <%@ page extends =””%>      本页面生成的 servlet  所继承的类  

 

(8)  <%@ page buffer =””%>     本页面的输出是否支持缓冲

 

(9)  <%@ page autoFlush =””%>    缓冲区是否自动刷新

 

(10)  <%@ page info =””%>      返回本页面的描述信息

 

(11)  <%@ page isELIgnored=””%> 本页面是否支持 EL 表达式

 

2.2 包含指令<%@ include %>

 

      <%@ include file =”relativeURLspec”%>

 

   静态包含,也称为翻译时包含, JSP  翻译时插入一个包含文本或代码的文件,这个包含的过程是静态的,然后再将JSP翻译成 Servlet 程序。

 

   注意: file 所指的路径必须是相对于此 JSP网页的路径。 而包含的文件可以是 JSP  网页、HTML  网页、文本文件,或是一段 Java  程序。

 

2.3 标签库指令:<%@ taglib %>

 

<%@taglib prefix=tt  uri=/WEB-INF/jspdev.tld%>   用于导入标签库。

 

 

3 常用的动作(action

 

3.1 包含动作<jsp:include page= />

 

      <jsp:include  page =””/> 

 

      动态包含,也称为运行时包含,将页面执行完的结果,加载进来。它对应于 Servlet RequestDispatcher 类的 include(ServletRequest request, ServletResponse response)方法。

 

   它还可以进行参数的传递,例如:

 

           <jsp:include page =””>

             <jsp: param name=”user” value=”admin”>

          </jsp:include>

 

   被包含的页面可以通过使用 request.getParameter(user)来得到 admin

 

 

3.2 转发动作  <jsp:forward page= />

 

   转发:<jsp: forward page= />

                 把控制页面转到下一个页面(转移控制权),可以通过使用 request 来传送数据。

 

   重定向:response.sendRedirect();

                     不能通过使用 request 来传送数据,可以考虑使用 session 来传送数据。

 

   两种转向赋值的方式: <jsp: forward page=”hello.jsp”>   // 转发

 

                                               <jsp: forward >   // 重定向

                                                   <jsp:attribute name=”page”>hello.jsp</jsp:attribute>

                                               </jsp:forward>

 

   注意

              a:  <%response.sendRedirect("/jsp-app/implication/view.jsp")%>

              b:   <jsp:forward page="/implication/view.jsp" />

   区别:

              a:  产生新的请求,重定向会放弃这个请求,并向服务器发送一个新的请求。

              b:  请求对象不变。 forward include 是同一个请求,sendRedirect 会产生新的请求。

 

 

3.3 JavaBean 相关动作(暂没总结,后续会加)

 

 

4 JSP中的注释

 

    JSP注释:<%--    --%>,翻译阶段消失。

 

    JAVA注释:///**//***/,编译阶段消失。

 

    HTML 注释:<!--    -->,  不会消失。

 

你可能感兴趣的:(JSP - JSP中的脚本、指令、动作和注释)