zoukankan      html  css  js  c++  java
  • Jsp语法、指令及动作元素

    一、JSP的语法

      

    1、JSP的模板元素:(先写HTML)

       就是JSP中的那些HTML标记

       作用:页面布局和美化

    2、JSP的Java脚本表达式:

       作用:输出数据到页面上

       语法:<%=表达式%>(实际上就是调用输出流打印到页面上)

    3、JSP中的Java脚本片段:(实际开发中,应做到JSP中不能出现一行Java脚本片段)

       作用:书写Java代码逻辑

       语法:<%
             语句1;
             语句2;
          %>

            语句为Java语句

       原理:其中的语句会原封不动的被服务器翻译到对应的Servlet的service方法中。

    4、JSP的声明:(了解其原理)

       作用:定义类的成员

       语法:<%!
             Java代码
          %>

    5、JSP的注释:

       作用:注释Java脚本代码

       语法:<%--这是注释--%>

       Jsp注释在客户端查看源文件无法看到,而Html注释在客户端可以看到

    二、JSP的指令:给JSP引擎用的(服务器用的)

    基本的语法格式:<%@ 指令名称 属性1="值1" 属性2="值2" ....%>
    作用:告诉服务器,该如何处理JSP中除了指令之外的内容的。

    1. page
      作用:定义JSP页面的各种属性
      属性: language:指示JSP页面中使用脚本语言。默认值java,目前只支持java。

          extends:指示JSP对应的Servlet类的父类。不要修改。

          *import:导入JSP中的Java脚本使用到的类或包。(如同Java中的import语句)
                JSP引擎自动导入以下包中的类:
                          javax.servlet.*
                          javax.servlet.http.*
                          javax.servlet.jsp.*
               注意:一个import属性可以导入多个包,用逗号分隔。

          *sessioin:指示JSP页面是否创建HttpSession对象。默认值是true,创建

          *buffer:指示JSP用的输出流的缓存大小.默认值是8Kb。

          autoFlush:自动刷新输出流的缓存。

          isThreadSafe:指示页面是否是线程安全的(过时的)。默认是true。
                 true:不安全的。
                 false:安全的。指示JSP对应的Servlet实现SingleThreadModel接口。

          *errorPage:指示当前页面出错后转向(转发)的页面。
                目标页面如果以"/"(当前应用)就是绝对路径。

                配置全局错误提示页面:
                在web.xml中,两种花方式:
                <error-page>
                    <exception-type>java.lang.Exception</exception-type>
                    <location>/error.jsp</location>
                </error-page>

                以及
                <error-page>
                    <error-code>404</error-code>
                    <location>/404.jsp</location>
                </error-page>

                
          *isErrorPage:指示当前页面是否产生Exception对象。

          *contentType:指定当前页面的MIME类型。作用与Servlet中的response.setContentType()作用完全一致

          *pageEncoding:通知引擎读取JSP时采用的编码(因为要翻译)
                  还有contentType属性的作用。

          *isELIgnored:是否忽略EL表达式。${1+1}。默认值是false。

    page指令最简单的使用方式:<%@ page pageEncoding="UTF-8"%>

    2. include静态包含,开发中能用静的不用动的)


    作用:包含其他的组件。

    语法:<%@include file=""%>file指定要包含的目标组件。路径如果以"/"(当前应用)就是绝对路径。

    原理:把目标组件的内容加到源组件中,输出结果。容器不必先生成被包含jsp页面或servlet的class文件,而是直接将内容添加到源组件中


    动态包含

    采用动作元素:<jsp:include page=""/>路径如果以"/"(当前应用)就是绝对路径。

    原理:先生成被包含jsp页面或servlet的class文件,再添加到源组件中

    3. taglib

    作用:引入外部的标签

    语法:<%@taglib uri="标签名称空间" prefix="前缀"%>

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

    三、JSP常用的动作元素

    <jsp:include/> 包含

    <jsp:forward/>  请求转发

    <jsp:param/>:在包含和转发时,利用该标签传递请求参数

    JSP中操作JavaBean的动作元素:

    1. jsp:useBean

      作用:用于在指定域范围内查找指定名称的JavaBean对象,找到了就直接使用;没有找到,创建一个,并放到指定的域范围内。

      属性:
        id:必须的。JavaBean的名称

        class:JavaBean的完整类名

        scope:域范围。默认是page范围。可选值:page request session application

      注意:如果该标签有主体内容,只在创建新对象时才会执行。


    2. jsp:setProperty(必须先使用useBean)

      作用:调用JavaBean的setter方法。还能自动类型转换,仅限基本类型

      属性:
        property:必须的。属性名称。比如setName,名称是name。
             可以使用通配符*。使用前提是请求参数的名称与属性的名称完全一致。

        name:必须的。哪个对象的?即jsp:useBean中的id的取值。

        value:属性的取值。支持直接量;支持表达式(<%=表达式%>)。

        param:请求参数名


    3. jsp:getProperty(必须先使用useBean)

      作用:调用JavaBean的getter方法。

      property:必须的。属性的名称。比如getName,名称是name。

      name:必须的。哪个对象的?即jsp:useBean中的id的取值。

  • 相关阅读:
    常用工具
    H5页面验收流程及性能验收标准
    埋点数据测试
    提高效率的必备工具
    移动APP安全测试
    Response响应相关
    AES加密解密
    Requests模块
    爬虫入门
    【CMDB】API传输验证
  • 原文地址:https://www.cnblogs.com/z941030/p/4764951.html
Copyright © 2011-2022 走看看