一、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的取值。

Jsp语法、指令及动作元素的更多相关文章

  1. java web jsp学习笔记--概述-常用语法,指令,动作元素,隐式对象,域对象

     JSP学习笔记 1.什么是jsp JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术.JSP/Servlet规范.JS ...

  2. JSP学习笔记(1)——Jsp指令、动作元素和内置对象

    简单来说,javaweb技术就是让服务器端能够执行Java代码,之后返回数据给客户端(浏览器)让客户端显示数据 jsp页面中可以嵌套java代码(java小脚本)和嵌套Web前端(html,css,j ...

  3. JSP指令与动作元素

    include指令 语法:<%@ include file="URL" %> 其中,URL表示一个要包含的页面. include动作(是一个动作标签) 语法:<j ...

  4. jsp 三大指令和动作标签

    jsp三大指令 一个jsp页面中可以有0-N个指令 1.page--->最复杂:<%@page language="" ...%> *pageEncoding和c ...

  5. Java遇见HTML——JSP篇之JSP指令与动作元素

    一.include指令(如:<%@include file="..."%> ) 示例: Date.jsp <%@page import="java.te ...

  6. JavaWeb【八、JSP指令与动作元素】

    include指令(页面嵌套) <%@ include file="URL"%> include动作 <jsp:include page="URL&qu ...

  7. JAVA遇见HTML——JSP篇(JSP指令与动作元素)

  8. JSP编译指令与动作指令

    下面这个面试经常问到,要理解. 上面这个效果一样,重点.   <jsp:include>动作在请求期间被执行,而include指令在编译期页面间被执行.

  9. JSP动作元素

    JSP动作元素分类 <jsp:include page="content.jsp"></jsp:include> 使用<%@ include%> ...

随机推荐

  1. which,whereis, locate, find

    which 在PATH环境变量中的路径中查找目标文件,所以用来查找都是可执行文件,Linux下的各种命令本质上就是一个可执行的文件,所以我们安装新的软件之后通常都会有相应的命令将其打开,就是因为安装的 ...

  2. linux: 获取监听指定端口的进程PID

    在 linux 下经常需要杀死(重启)监听某端口的进程, 因此就写了一个小脚本, 通过 ss 命令获取监听制定端口的进程 PID, 然后通过 kill 命令结束掉进程: #!/bin/sh # set ...

  3. ubuntu下ROS安装时sudo rosdep init和rosdep update的解决方法

    问题: 在ubuntu上多次安装matlab选择合适的版本来调用摄像头,终于把系统搞坏了,重装系统后,ROS无法安装,每次安装到sudo rosdep init和rosdep update报错的问题, ...

  4. The available repos for opensuse13.2

    opensuse13.2国内源和设置命令   ustc-osshttp://mirrors.ustc.edu.cn/opensuse/distribution/13.2/repo/oss/ustc-n ...

  5. Python的逻辑运算符and小析

    近期突然对验证码的识别感兴趣了,然后就研究了一些图像识别和处理的资料,其中有一种图像处理是关于字体的细化和骨架提取的,但是这种算法没有现成的java代码实现,那些号称的java版代码多半都是效果很差或 ...

  6. Openstack-Ceilometer-SNMP的使用

    1. 物理服务器配置 1.1安装 #yum install -y net-snmp net-snmp-utils 1.2      配置 复制[附件]中snmpd.conf文件到/etc/snmp/目 ...

  7. 二分+DP HDU 3433 A Task Process

    HDU 3433 A Task Process Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/ ...

  8. OpenCV的安装与系统环境变量

    OpenCV的安装与系统环境变量 安装OpenCV本来是很简单的一件事,但配置却很麻烦.而且在配置过程中尤为重要的步骤就是系统环境变量的配置.我使用的是CodeBlick13.12与OpenCV1.0 ...

  9. 第20章 DLL高级技术(2)

    20.3 延迟载入DLL 20.3.1延迟载入的目的 (1)如果应用程序使用了多个DLL,那么它的初始化可能比慢,因为加载程序要将所有必需的DLL映射到进程的地址空间.→利用延迟加载可将载入过程延伸到 ...

  10. java的IO操作之--RandomAccessFile

    目标: 1)掌握RandomAccessFile类的作用. 2)用RandomAccessFile读取指定位置的数据. 具体内容 RandomAccessFile类的主要功能是完成随机读取功能,可以读 ...