<jsp:directive.page info="my latest JSP Example V1.1" />
5.3.2 include指示
作为X M L文档的i n c l u d e指为:
<jsp:directive.include file=" relativeURLspec" flush="true|false" />
举例如下。
一般的i n c l u d e指令:
<%@ include file="copyright.hmtl" %>
相应的X M L相容语法:
<jsp:directive.include file="htmldocs/logo.html" />
5.3.3 taglib指令
t a g l i b指令如前所述,是被包含在< j s p : r o o t >元素中,以x m l n s属性的形式被定义的。
5.4 脚本元素
J S P的脚本元素包含声明、脚本代码、表达式三个部分,下面分别讲述其相应的X M L语法形式。
5.4.1 声明
声明的X M L形式语法为:
<jsp:declaration> declaration goes here </jsp:declaration>
举例如下:
<%! public String f(int i) { if (i<3) return("..."); ... } %>
相应的X M L语句为:
<jsp:declaration> <![CDATA[ public String f(int i) { if (i<3) return("..."); } ]]>
</jsp:declaration>
下面是相关的D T D文件片断:
<!ELEMENT jsp:declaration (#PCDATA) >
5.4.2 脚本代码
声明的X M L形式语法为:
<jsp:scriptlet> code fragment goes here </jsp:scriptlet>
下面是相关的D T D文件片断:
<!ELEMENT jsp:scriptlet (#PCDATA) >
5.4.3 表达式
声明的X M L形式语法为:
第5章作为X M L的J S P1 0 3
<jsp:expression> expression goes here </jsp:expression>
举例如下:
<%= str + i + " " + date%>
相应的X M L语句为:
<jsp:expression>
String str ="aasasda";
int i = 5;
java.util.Date date = new Date();
</jsp:expression>
下面是相关的D T D文件片断:
<!ELEMENT jsp:expression (#PCDATA) >
5.5 如何将一个普通的J S P文件转换为一个X M L文档
使用下面的方法可以将一个普通的J S P文件转换为一个X M L文件:
首先,在文本中加入< j s p : r o o t >,在这个元素中使命名前缀“ j s p”成为文本中标准元素的前
缀。
然后,将所有的“< %”按照前面介绍的方法转换为X M L的相容语法形式。
接着,将“ t a g l i b”指示转化为使用< j s p : r o o t >中的“x m l n s”属性来指示。
最后,为每一个非J S P元素的部分建立一个C D ATA元素。
利用表5 - 1可以快速地将一个J S P文件转化成一个X M L文件。
表5 - 1
JSP 元素X M L相应元素
<%@ page ... %> <jsp:directive.page ... />
<%@ taglib ... %> 使用< j s p : r o o t >设定
<%@ include ... %> <jsp:directive.include .../>
<%! ... %> <jsp:scriptlet> .... </jsp:scriptlet>
<% ... %> <jsp:scriptlet> .... </jsp:scriptlet>
<%= .... %> <jsp:expression> .... </jsp:expression>
5.6 JSP1.1的D T D文件
这里是J S P 1 . 1的D T D文件,从中可以对J S P的语法有一个完整的理解。
<!ENTITY % jsp.body "
(#PCDATA
|jsp:directive.page
|jsp:directive.include
|jsp:scriptlet
|jsp:declaration
|jsp:expression
|jsp:include
104第一部分JSP 入门
|jsp:forward
|jsp:useBean
|jsp:setProperty
|jsp:getProperty
|jsp:plugin
|jsp:fallback
|jsp:params
|jsp:param)*
">
<!ELEMENT jsp:useBean %jsp.body;>
<!ATTLIST jsp:useBean
id ID #REQUIRED
class CDATA#REQUIRED
scope (page|session|request|application) "page">
<!ELEMENT jsp:setProperty EMPTY>
<!ATTLIST jsp:setProperty
name IDREF#REQUIRED
propertyCDATA#REQUIRED
value CDATA#IMPLIED
param CDATA#IMPLIED>
<!ELEMENT jsp:getProperty EMPTY>
<!ATTLIST jsp:getProperty
name IREF #REQUIRED
propertyCDATA#REQUIRED>
<!ELEMENTjsp:includeEMPTY>
<!ATTLISTjsp:include
flush (true|false)"false"
page CDATA#REQUIRED>
<!ELEMENT jsp:forward EMPTY>
<!ATTLISTjsp:forward
page CDATA#REQUIRED>
<!ELEMENT jsp:scriptlet (#PCDATA)>
<!ELEMENT jsp:declaration (#PCDATA)>
<!ELEMENT jsp:expression (#PCDATA)>
<!ELEMENT jsp:directive.page EMPTY>
<!ATTLIST jsp:directive.page
languageCDATA"java"
extendsCDATA#IMPLIED
contentTypeCDATA"text/html; ISO-8859-1"
import CDATA#IMPLIED
session(true|false)"true"
buffer CDATA"8kb"
autoFlush(true|false)"true"
isThreadSafe(true|false)"true"
info CDATA#IMPLIED
errorPageCDATA#IMPLIED
isErrorPage(true|false)"false">
第5章作为X M L的J S P1 0 5
<!ELEMENT jsp:directive.include EMPTY>
<!ATTLIST jsp:directive.include
file CDATA #REQUIRED>
<!ELEMENT jsp:root %jsp.body;>
<!ATTLIST jsp:root
xmlns:jspCDATA#FIXED "http://java.sun.com/products/jsp/dtd/
jsp_1_0.dtd">
106第一部分JSP 入门
待续
(出处:CSDN.NET )