Jsp基本语法
Jsp语法分为3类:脚本元素、指令元素、动作元素。
 
jsp的脚本元素有以下4个:
1.       隐藏注释:<%--这是客户端不可见的隐藏注释--%>
2.       声明(declarations):<%!这是声明%>
3.       脚本段(scriptlets):<%这是脚本段%>
4.       表达式(expression):<%=这是表达式%>
 
 
jsp的指令元素有以下3个:

指令主要用来提供整个JSP网页相关的信息,并且用来设定JSP页面的相关属性。

一、page指令

功能:设定整个JSP网页的属性和相关功能。
语法:<%@ page attribute1="value1" attribute2="value2" %>
标签元素:<jsp:directive.page attribute1="value1" attribute2="value2" />

 
page指令元素的属性       
language="language"    指定JSP Container要用什么语言来编译JSP网页。目前只可以使用Java语言,不过不排除增加其它语言。默认值为Java。       
extends="className"    定义此JSP页面产生的Servlet是继承自哪个父类。必须为实现Http
JspPage接口的类。JSP规范对不完全理解其隐意的情况下使用此属性提出警告。       
import="importList"    定义此JSP页面可以使用哪些Java API。用逗号分隔列出一个或多个全质类名。此列表用于在生成的java servlet中创建相应的导入语句。以下包是自动包含的,不必被指出:java.lang.*;java.servlet.*;java.servlet.jsp.*;java.servlet.htt.*       
session="true|false"    指明JSP页面是否需要一个HTTP会话,如果为true,那么产生的servlet将包含创建一个HTTP会话(或访问一个HTTP会话)的代码,缺省为true。       
buffer="none|size in kb"    指定输出流缓存的大小。有效值是nkb或没有。缺省为8kb。       
authflush="true|false:    决定输出流的缓冲区是否要自动清除。当值为true时缓存满时将被自动刷新,当值为false时,缓冲区满会抛出溢出异常。缺省值为true。       
isThreadSafe="true"    此JSP页面能处理来自多个线程的同步请求,此值为true,否则为false,生成的servlet表明它实现了SingleThreadMode接口。SingleThreadMode已经声明不赞成使用(deprecate)       
info="text"    表示此JSP页面的相关信息,由getServletInfo()方法返回的。       
isErrorPage="true|false"    如果此页面被用作处理异常错误的页面,则为true。在这种情况
下,页面可被指定为另一页面page指令元素中errorPage属性的取值。指定此属性为true将使exception隐含变量对此页面可用。缺省值为false。       
errorPage="error_url"    表示如果发生异常错误,网页会被重新指向一个URL页面。错误页面必须在其page指令元素中指定isErrorPage="true"       
contentType="ctinfo"    表示将在生成servlet中使用的MIME类型和可选字符解码。       
pageEncoding="ctinfo"    表示JSP页面的编码方式。       
isELIgnored="true|false"    表示是否在此JSP网页中执行或忽略EL表达式。如果为true时JSP Container将忽略EL表达式。     

二、include指令

功能:在JSP编译时插入包含一个文件。包含的过程是静态的,包含的文件可以是JSP、HTML、文本或是Java程序。
语法:<%@ include file="relativeURLspec" %>
标签元素:<jsp:directive.include file="relativeURLspec" />
注意:include指令元素和行为元素主要有两个方面的不同点。
1.include指令是静态包含,执行时间是在编译阶段执行,引入的内容为静态文要,在编译成servlet时就和包含者融合到一起。所以file不能是一个变量,也不能在file后接任何参数。
2.include行为是动态包含,执行时间是在请求阶段执行,引入的内容在执行页面时被请求时动态生成再包含到页面中。

三、taglib指令

功能:使用标签库定义新的自定义标签,在JSP页面中启用定制行为。
语法:<%@ taglib uri="tabLibraryURI" prefix"tagPrefix" %>
标签元素:<jsp:directive.taglib uri="tabLibraryURI" prefix"tagPrefix" />

 
page指令元素的属性       
uri="tagLibraryURI"    标签库描述器的URI,主要是说是tagLibrary的存放位置。       
prefix="tagPrefix"    用于标识在页面后面部分使用定制标签的唯一前缀。
 
jsp的常用动作元素:
<jsp:attribute>
说明 
该元素为另外一个JSP动作定义了一个属性值。还可以与<jsp:element>动作结合,从而创建一个模板文本标记元素。 
 
语法 
<jsp:attribute name="attrName" [trim="true|false"]>
  Attribute value, typically created by nested JSP elements
</jsp:attribute>

 
属性 
名称 java类型 动态值 描述 
name String 不接受 待赋值属性的名字。如果不与<jsp:element>配合,所命名的属性必须接受动态值 
trim boolean 不接受 是否除去体计算结果中前导和后续空白字符 
 
 
示例 
<jsp:include>
  <jsp:attribute name="page">
    ${someValue}
  </jsp:attribute>
</jsp:include>

<jsp:element name="a">
  <jsp:attribute name="href">
    <c:url value="${someURL}" />
  </jsp:attribute>
</jsp:element>

<jsp:body>
说明 
用于为一个动作元素定义体。仅当动作属性由<jsp:attribute>元素定义时,该元素才是必须的。 
 
语法 
<jsp:body>
  Body content
</jsp:body>

 
示例 
<jsp:plugin type="applet" code="Clock.class" Codebase="applet" jreversion="1.2">
  <jsp:attribute name="width">160</jsp:attribute>
  <jsp:attribute name="height">150</jsp:attribute>
  <jsp:body>
    <jsp:params>
      <jsp:param name="bgcolor" value="#ff0000" />
    </jsp:params>
   
    <jsp:fallback>
      Plugin tag OBJECT or EMBED not supported by brower.
    </jsp:fallback>
  </jsp:body>
</jsp:plugin>


<jsp:declaration>
说明 
声明块的JSP Document表示形式,对应于<%! declaration %>。 
 
语法 
<jsp:declaration>declaration</jsp:declaration>

 
示例 
<jsp:declaration> int iLocalVar = 0 ; </jsp:declaration>

<jsp:directive>
说明 
指令元素的JSP Document表示。 
 
语法 
语法 1 <%@ page %>
<jsp:directive.page attributes="attributes" />

语法 2 <%@ taglib %>
<jsp:directive.taglib attributes="attributes" />

语法 3 <%@ include %>
<jsp:directive.include file="pageOrContextRelativePath" />

语法 4 <%@ tag %>
<jsp:directive.tag attributes="attributes" />

语法 5 <%@ attribute %>
<jsp:directive.attribute attributes="attributes" />

语法 6 <%@ variable %>
<jsp:directive.variable attributes="attributes" />

 
示例 
<jsp:directive.page language="java" pageEncoding="GB2312">
<jsp:directive.taglib prefix="plusir" uri="plusirTAG">
<jsp:directive.include file="list.jsp">

<jsp:doBody>
说明 
只能用于标记文件中,它将计算相应的定制动作体,并把输出结果添加到调用页面的输出流,或者将输出保存在一个变量中。 
 
语法 
<jsp:doBody [var="var" | varReader="varReader"]
jsp和html哪个更好     [scope="page|request|session|application"]/>

 
属性 
名称 java类型 动态值 描述 
scope String 不接受 变量的作用域 
var String 不接受 将计算结果保存为一个String的变量的名字 
varReader String 不接受 用于保存计算结果并将结果作为一个java.io.Reader加以提供的变量名 
 
 
示例 
<jsp:doBody />
<jsp:doBody var="result" />

<jsp:element>
说明 
动态创建一个XML元素,并将其添加到响应中。此动作主要用于JSP Document。 
 
语法 
语法 1:没有体
<jsp:element name="elementName" />

语法 2:有体
<jsp:element name="elementName" />
  <jsp:attribute> and/or <jsp:body> action
</jsp:element>

 
属性 
名称 java类型 动态值 描述 
name String 接受 所生成元素的名字 
 
 
示例 
<jsp:element name="a">
  <jsp:attribute name="href">somepage.jsp</jsp:attribute>
  <jsp:body>Some text</jsp:body>
</jsp:element>


<jsp:expression>
<jsp:expression> 
 
说明 
表达式块的JSP Document表示形式,对应于<%= expression %>。 
 
语法 
<jsp:expression>expression</jsp:expression>

 
示例 
<jsp:expression>String</jsp:expression>

<jsp:ballback>
说明 
只能用于<jsp:plugin>动作体内,对于不支持HTML<embed>或<object>元素的浏览器,此动作体指定了其可用的模板文件。 
 
语法 
<jsp:fallback>
  Fallback body
</jsp:fallback>

 
示例 
<jsp:plugin type="applet" code="Clock.class" codebase="applet"
     Jreversion="1.2" width="160" height="150">
  <jsp:fallback>
    Plugin tag OBJECT or EMBED not supported by brower.
  </jsp:fallback>
</jsp:plugin>

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。