现在的位置: 首页 > 综合 > 正文

JSP的语法

2018年04月16日 ⁄ 综合 ⁄ 共 3254字 ⁄ 字号 评论关闭

JSP页面由元素和模板数据组成,元素师必须由JSP容器处理的部分,而末班数据时JSP容器不处理的部分。

例如:JSP页面中的HTML中的内容,这些内容会直接发送到客户端。

在JSP2.0中,元素有三种:指令元素、脚本元素和动作元素

指令元素(directive element)

指令元素主要用于转换阶段提供整个JSP页面的相关信息,指令不会产生任何的输出到当前的输出流中。

指令元素的形式如下:<%@directive { attr="value"}*%>

在起始符号<%@之后和结束符&>之前可以加空格也可以不加。

指令元素有三种:page,include ,taglib

2.include 指令用于在JSP页面静态包含一个文件,这个文件可以是JSP,或者是HTML网页,过着文本文件,或者一段java代码。

<%@ include file="relativeURLspec"%>

在XML中使用的是:

<jsp:directive. include file="relativeURLspec"/>

例如:index.jsp

<html>
<body>
<center> Now time is: <%=new java.util.Date()%>
<hr>
<%out.println("helloworld");%>
<br>
<%@ include file="date.jsp"%>
</center>
</body>
</html>

data.jsp:

<%=new java.util.Date().toLocaleString()%>

被包含的文件最好不要包含<html>,<body>等标签,这样会影响到原来的JSP文件。

在变量方面,被包含的文件最好不要有源文件的变量和方法。

1.page指令

page指令作用于整个JSP页面中,定义了许多与页面相关的属性,这些属性将被用于与JSP容器通信

<%@ page attr1="value1" attr2="value2"...%>

在JSP中还提供了XML的语法格式的page指令

<jsp:directive.page attr1="value1" attr2="value2"..../>

page有15个属性

language="scriptingLanguage"该属性用于指定脚本元素中使用的脚本语言,默认为java,

extends="className"该属性用于指定JSP页面转换后的Servlet类从哪一个类集成,属性的值是完整的限定类名。

 

 

 

2. Page 指令

  定义整个JSP页面的全局属性。
  
  JSP语法:
  <%@ page
  [ language="java"]
  [ extends="package.class"]
  [ import= "{ package.class | package.* }, ..." ]
  [ session="true|false" ]
  [ buffer="none|8kb|sizekb" ]
  [ autoFlush="true|false" ]
  [ isThreadSafe="true|false" ]
  [ info="text"]
  [ errorPage="relativeURL"]
  [ contentType="mimeType [ ;charset=characterSet ]" |
  "text/html ; charset=ISO-8859-1" ]
  [ isErrorPage="true|false"] %>
  
  例:
  <%@ page contentType="text/html;charset=gb2312" %>
  <%@ page import="java.sql.*, java.lang.*" %>
  <%@ page buffer="8kb" autoFlush="false" %>
  <%@ page errorPage="error.jsp" %>
  
  描述:
  Page指令的作用范围是整个JSP文件和该JSP文件用include指令或<jsp:include>包含进来的任何静态文件,整个JSP文件和这些静态文件一起叫做一个"平移单元". 注意:Page指令不适用于任何动态的包含文件。你可以在一个"平移单元"使用多个Page指令。但是每一个属性你只能使用一次,除了import(因为import属性和JAVA程序语言的import语句很类似,你能够多次使用它,就象在JAVA语言中你能够多次使用import命令一样)。不论你将Page指令放到JSP文件或被包含的文件的任何一个位置,它的作用范围都是整个"平移单元".然而,一个好的编成风格是常常将它放到文件的顶部.

  language="java"
  在JSP文件的脚本段、声明和表达式中使用的语言。现只允许用"JAVA"。

  extends="package.class"
  该属性用于指明JAVA类文件超类全名。使用该属性时要小心,因为,它会限制JSP引擎编译文件的能力。

  import= "{ package.class | package.* }, ..."
  JSP文件中导入的一个或多个用逗号隔开的包的列表。这些包(和它们的类)可以在JSP文件的脚本段、表达式、声明和标签中使用。你必须将import属性放到调用被到入的类的标签前面。如果你想导入多个包,你可以在import后面用逗号将每个包隔开即可,或你可以在一个JSP文件中使用多个import.

  session="true|false"
  该属性用于确定JSP页面是否使用HTTP session.假如这个值是true, 则sesssion引用的是当前或新的session. 假如这个值是false,则在JSP文件中,不能使用session对象。 默认值是true.

  buffer="none|8kb|sizekb"
  设置buffer缓冲区的大小,当out对象将被编译的JSP页面向客户Web浏览器端输出时使用。它的默认值是8kb.假如你指定了buffer缓冲区的大小,这个输出量将不低于你指定的大小。

  autoFlush="true|false"
  该属性指出:当缓冲区充满时,是否自动刷新。如果值为true(默认值为true),则自动刷新。如果值为false,则当缓冲区溢出时,将会产生错误。而且如果buffer属性的值设为none,autoFlush属性的值不能设为false.

  isThreadSafe="true|false"
  假设这个值设为true,多个线程能同时访问一个JSP页面。假如这个值为false,对一个JSP页面,JSP引擎一次只能响应一个用户的请求。默认值为true。

  info="text"
  关于作者、版本和著作权等信息,可以通过javax.sevlet.Servlet.getServletInfo()方法查到该信息的详细情况。

  errorPage="relativeURL"
  该属性用于设置处理例外事件的JSP文件的路径名。假如这个路径名以"/"开始,则这个路径名是JSP应用文档根目录而言的,而且由Web服务器决定。否则,这个路径是相对于当前JSP文件而言的。

  isErrorPage="true|false"
  JSP文件是否显示错误页面。 如果这个值为true,你可以使用例外exception对象。如果这个值为false(默认值也为false),在JSP文件中,不能使用exception对象。

  contentType="mimeType [ ;charset =characterSet ]" |
  "text/html;charset=ISO-8859-1"
  JSP文件中使用的MIME type和character encoding(字符编码)是用于响应客户端的请求。你可以使用JSP引擎中有效的任何MIME type或character set(字符集).默认的MIME type是text/html,而且默认的字符集合是ISO-8859-1

 

抱歉!评论已关闭.