JSP的三个编译指令

jsp的编译指令是通知jsp引擎的消息,它不直接生成输出。编译指令都有默认值,因此开发人员无须为每一个指令设置值。


page
该指令是针对当前页面的指令
include
用于指定如何包含另一个页面
tablib
用于定义和访问自定义标签
编译指令的格式如下:

<%@  编译指令名 属性名="属性值"........   %>


page指令
page指令通常位于jsp页面的顶端,对同一个页面可以有多个page指令。page指令的语法格式如下:
<%@page   
    [language="java"]
    [extends="package.class"]
    [import="package.class | package.*},......"]
    [session="true | false"]
    [buffer="none | 8kb | size kb"]
    [autoFlush="true | false"]
    [isThreadSafe="true | false"]
    [info="text"]
    [errorPage="relativeURL"]
    [contentType="mimeType[;charset=characterSet]" | "text/html;charSet="ISO8859-1""]
    [isErrorPage="true | false"]
%>

language: 声明当前jsp页面使用的脚本语言的种类, 该属性的值通常是Java
extends:确定jsp程序编译时所产生的Java类,需要继承的父类,或者需要实现的接口的全限定类名
import:用来导入包,下面几个包是自动导入的不需要显示导入{ java.lang.*   &&    javax.servlet.*  &&   javax.servlet.jsp.*    &&  javax.servlet.http.*}
session:设定这个jsp页面是否是要http session
buffer:指定输出缓冲区的大小。输出缓冲区的jsp内部对象:out对象用于缓存jsp页面对客户浏览器的输出,默认值为8kb,可以设置为none,也可以
              设置为其他的值,单位为kb
aotuFlush:当输出缓冲区即将溢出时,好似否需要强制输出缓冲区的内容。设置为true时为正常输出,如果设置为false,会在buffer溢出时产生异常
info:设置改jsp程序的信息,也可以看做其说明,可以通过Servlet.getServletInfo()方法获取该值。如果在jsp页面中,可直接调用getServletInfo()方发
           获取该值,因为jsp页面的实质就是Servlet。
errorPage:指定错误处理页面。如果本程序产生了异常或者错误,而该jsp页面没有对应的处理代码,则会自动调用该指令所指定的jsp页面。使用jsp页       
                    面时,可以不处理异常,即使是checked异常。
isErrorPage:设置本jsp页面是否为错误处理程序。如果该页面本身已是错误处理页面,则无须使用errorPage属性。
contentType:用于设定生成网页的文件格式和编码方式,即MIME类型和页面字符集类型,默认的MIME类型是text/html;默认的字符集为ISO-8859-1 

include指令
include指令可以将一个外部文件嵌入到当前jsp文件中,同时解析这个页面中的jsp语句。
这是个静态的include语句,不会检查所包含jsp页面的变化。
include既可以包含静态的文本,也可以包含动态的jsp页面。静态的编译指令include,是将被包含的页面加入进来,生成一个完整的页面
include编译指令的语法:
<%@include file="relativeURLSpec"%>
如果被嵌入的文件经常需要改变,建议使用<jsp:include>操作指令,因为它是动态的include语句。

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%@ page import="java.sql.*" %>
<%@ include file="index.jsp" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>脚本测试</title>
  </head>
 
  <body>
   
    <%
     Class.forName("com.mysql.jdbc.Driver");
     Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","chenkeyu");
     Statement stmt = conn.createStatement();
     ResultSet rs = stmt.executeQuery("select * from user");
     %>
     <table bgcolor="9999dd" border="1">
      <%
       while(rs.next())
       {
       %>
       <tr>
       <td><%=rs.getString(2) %></td>
       <td><%=rs.getString(3) %></td>
       </tr>
       <%
        }
        %>
     </table>
   
  </body>
</html>
运行结果:









  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值