首页 > 开发 > JSP > 正文

JSP语法

2020-02-05 13:36:13
字体:
来源:转载
供稿:网友
  • 本文来源于网页设计爱好者web开发社区http://www.html.org.cn收集整理,欢迎访问。
  • ① 注释元素 (comments elements)

    1. <!-- comment [<%= expression >] -->
       标准的html注释。jsp容器会将该注释发往客户端浏览器,但不在浏览器中显示,可以在html源文件中查看。

        comment    - 注释内容
        expression - 可选的java表达式,jsp容器会对表达式求值并将结果作为注释内容发往客户端

    2. <%-- comment --%>
       jsp注释,jsp容器不会对该形式的注释进行编译,也不会将它发往客户端浏览器。

        comment - 注释内容

    3. // comment
       /* comment */
       标准java注释,只能包含在scriptlet中。容器不对该部分内容编译;也不会发送到客户端浏览器。

        comment - 注释内容


    ② 脚本元素 (scripting elements)

    1. <%! declaration %>
       声明块,在该块内声明的java变量可以在声明处到本jsp页面结尾处的范围内使用。
       jsp页面中类和方法的声明必须放在声明块内。

        declaration - 要声明的变量、类或方法

    2. <% scriptlet %>
       脚本块,可以包含有效的java程序片段。

        scriptlet - 标准java代码

    3. <%= expression %>
       表达式块,jsp容器会将表达式求值并输出到该位置。相当于<% out.print( expression ); %>。

        expression - 标准java表达式,末尾不可以加分号


    ③ 指令元素 (directives elements)

    1. <%@ page autoflush="false" buffer="8" contexttype="ctinfo"
                errorpage="error_url" extends="javax.servlet.jsp.httpjsppage"
                import="import_list" info="comment" iselignored="true"
                iserrorpage="false" isthreadsafe="true" language="java"
                session="true" pageencoding="iso-8859-1" %>
       page指令设定整个jsp页面的属性和相关功能。

        autoflush="true|false"    - 是否自动清除输出流缓冲区。如果该属性指定为false,输出流缓冲区满后会抛出异常
        buffer="none|size in kb"  - 设定输出流缓冲区大小。none禁用缓冲
        contexttype="ctinfo"      - 设定mime类型和jsp网页的编码方式,中文为"text/html;charset=gb2312"
        errorpage="error_url"     - 设置页面发生异常时导向的页面
        extends="class_name"      - 设定jsp页面编译为servlet时的基类
        import="import_list"      - 导入java包,唯一可以重复出现的属性
        info="text"               - 设置本jsp页面的相关信息
        iselignored="true|false"  - 设置是否可以使用el表达式
        iserrorpage="true|false"  - 设置本jsp页面是否为异常处理页面,只有异常处理页面才能使用exception对象
        isthreadsafe="true|false" - 设置本页面是否可以响应多个请求
        language="java"           - 设置jsp容器编译本页面使用什么样的语言,目前只有java一种
        session="true|false"      - 设置是否在页面中启用session
        pageencoding="iso-8859-1" - 设置jsp页面的编码方式

    2. <%@ include file="relativeurlspec" %>
       inclued指令用来静态包含另外一个文件,可以是html文件、jsp文件、文本文件或者一段java程序。

        file="relativeurlspec" - 包含文件的路径

    3. <%@ taglib uri="taglibraryuri" tagdir="tagfile_dir" prefix="tagprefix" %>
       taglib指令用来在页面中引入自定义标签。

        uri="tag_library_uri" - 自定义标签库tld文件的存放位置
        tagdir="tag_file_dir" - tag文件的目录
        prefix="tag_prefix"   - 标签的前缀


    ④ 动作元素 (action elements)

    1. <jsp:usebean id="id" spoce="page|application|request|session"
                    class|beanname="class" type="type" />
       在页面中引入javabean,通常有如下应用形式:
       <jsp:userbean id="id" spoce="spoce" class="classname" type="typename" />
       <jsp:userbean id="id" spoce="spoce" type="typename" class="classname" />
       <jsp:userbean id="id" spoce="spoce" beanname="beanname" type="typename" />
       <jsp:userbean id="id" spoce="spoce" type="typename" beanname="beanname" />
       <jsp:userbean id="id" spoce="spoce" type="typename">

        id       - javabean实例化后的名字
        class    - 指定javabean的类完全限定名
        beanname - 代表javabean的名字,通常利用java.beans.beans类的instantiate()方法初始化
        type     - 指定scripting变量定义的类型
        spoce    - 该javabean的可视范围,可以是如下值:
                    page        -页面共享
                    application -应用程序共享
                    request     -请求范围共享
                    session     -会话共享

    2. <jsp:setproperty name="beanid" property="propertyname" value|param="value" />
       通常放在usebean元素体内,用来为javabean指定参数值,通常有如下应用形式:
       <jsp:setproperty name="beanid" property="*" />
       <jsp:setproperty name="beanid" property="propertyname" />
       <jsp:setproperty name="beanid" property="propertyname" param="paramname" />
       <jsp:setproperty name="beanid" property="propertyname" value="value" />

         name     - 要设置的javabean的id
         property - 参数名称
         value    - 为属性指定值
         param    - 将属性的值设置为param指定的request变量的值

    3. <jsp:getproperty name="beanid" propetry="property" />
       将指定的javabean属性值写到输出流。

        name     - 要取得属性值的javabean的实例化的名称
        property - 要取得的属性的名字

    4. <jsp:include page="page_url" flush="true|false" />
       动态包含一个文件到jsp页面。

        page  - 一个路径或一个java表达式,jsp容器会对表达式求值并将结果作为路径
        flush - 是否自动清空被包含页面的输出流缓冲区

    5. <jsp:forward page="page_url" />
       将客户端所发出的请求,从一个jsp页面转交给另外一个jsp页面,该动作标签后的scriptlet将不被执行。

        page - 要导航的目标路径。可以是一个表达式,由容器求值后将结果作为路径

    6. <jsp:param name="name" value="value" />
       只能配合<jsp:include>、<jsp:forward>和<jsp:plugin>使用,为这些动作标签提供request参数。

        name  - 指定提供的request参数的名称
        value - 指定提供的request参数的值

    7. <jsp:plugin type="bean|applet" code="classfilename" codebase="filedirname"
                   [name="instancename"] [active="uritoarchive,..."]
                   [align="bottom|top|middle|left|right"] [height="displaypixels"]
                   [width="displaypixels"] [hspace="leftrightpixels"] [title="title"]
                   [vspace="tipbottompixels"] [iepluginurl="urltoplugin"]
                   [jreversion="jreversion"] [nsplugurl="urltoplagin"] />
       在页面中插入对象,生成的html标签是<object>或者<embed>。

        type        - 指定将被执行的对象类型,必须指定,没有默认值
        code        - 指定被java plugin执行的java类名称,必须以.class结尾,并且必须在codebase指定的目录下
        codebase    - 指定java类的路径,默认为jsp网页所在的路径
        name        - bean或applet的名字
        active      - 指定用于codebase目录下类装载器预装载的存档文件的路径,可以提高执行效率
        align       - 对齐方式
        height      - 以象素为单位的高度
        width       - 以象素为单位的宽度
        hspace      - 以象素为单位的左右补白的大小
        vspace      - 以象素为单位的上下补白的大小
        title       - 插件显示的标题
        jreversion  - 表示执行applet或bean所需的jre的版本,默认为1.1
        nspluginurl - 表示netscape navigator用户能够使用的jre的下载地址
        iepluginurl - 表示ie用户能够使用的jre的下载地址

    8. <jsp:params></jsp:params>
       放在<jsp:plugin>动作标签体内,包含若干<jsp:param>,为插件提供参数。

    9. <jsp:fallback>prompt text</jsp:fallback>
       放在<jsp:plugin>动作标签体内,当浏览器不支持插件时,显示该动作标签指定的文本信息。

    11. <jsp:directive />
        指令元素的xml表示形式。有如下用法:
        <jsp:directive.page />    - 对应<%@ page %>指令
        <jsp:directive.taglib />  - 对应<%@ taglib %>指令
        <jsp:directive.include /> - 对应<%@ include %>指令

    12. <jsp:declaration>declaration</jsp:declaration>
        声明块的xml表示形式,对应于<%! declaration %>。

    12. <jsp:scriptlet>scriptlet</jsp:scriptlet>
        脚本块的xml表示形式,对应于<% scriptlet %>。

    13. <jsp:expression>expression</jsp:expression>
        表达式块的xml表示形式,对应于<%= expression %>。

    14. <jsp:text></jsp:text>
        在jsp document中,输出template数据。

    15. <jsp:output doctype-public="publiccontext" doctype-root-element="rootname"
                    doctype-system="systemcontext" omit-xml-declaration="[true|false]|[yes|no]" />
        在jsp docuemnt中,输出型如<!doctype rootname public "publiccontext" "systemcontext">
        的文档类型声明。另外,还用于控制是否由jsp容器创建xml声明。

         doctype-public       - 指定xml文件文档类型声明的public值
         doctype-root-element - 指定要验证的xml文档的根元素的名称
         doctype-system       - 指定xml文件文档类型声明的system值
         omit-xml-declaration - 指定jsp容器是否创建一个默认的xml声明

    16. <jsp:root version="1.2|2.0">

    17. <jsp:attribute name="attributename" trim="true|false">attributevalue</jsp:attribute>
        主要有两个用途,一是在<jsp:element>动作标签中定义xml元素的属性;二是设定标准或自定义标签的属性。

         name           - 指定属性的名称
         trim           - 指定属性值前后的空白字符是否被忽略
         attributevalue - 指定属性的值

    18. <jsp:body>bodytext</jsp:body>
        用来定义xml元素标签的文本内容,必须放在<jsp:element>动作标签体内。

    19. <jsp:element name="elementname" />
        用来动态定义xml元素的标签。

         name - xml元素标签的名称

    发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表