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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Hongten

spring开发_spring中Bean的作用域_singleton_prototype

http://www.cnblogs.com/hongten/gallery/image/112385.html

18520
来自专栏JavaEdge

Bean Validation 介绍及最佳实践关于 Bean ValidationBean Validation 中的 constraint创建一个包含验证逻辑的简单应用(基于 JSP)定制化的 co

31170
来自专栏枕边书

PHP递归创建多级目录(一道面试题的解题过程)

今天看到一道面试题,要写出一个可以创建多级目录的函数: 我的第一个感觉就是用递归创建,具体思路如下: function Directory($dir){   ...

29170
来自专栏程序猿DD

Spring Boot中Web应用的统一异常处理

我们在做Web应用的时候,请求处理过程中发生错误是非常常见的情况。Spring Boot提供了一个默认的映射: /error,当处理中抛出异常之后,会转到该请求...

31460
来自专栏阿杜的世界

Spring实战3:装配bean的进阶知识主要内容:

在装配bean—依赖注入的本质一文中,我们探讨了Spring的三种管理bean的方式:自动装配、基于JavaConfig、基于XML文件。这篇文字将探讨一些Sp...

10520
来自专栏xdecode

Spring之IOC

IOC 控制反转, 将由程序直接操控的对象调用权交给容器, 通过容器来实现对象的装配和管理. 容器即applicationContext.xml 第一个spri...

20870
来自专栏Java帮帮-微信公众号-技术文章全总结

Web-第十二天 el&jstl表达式学习

在JSP开发中,为了获取Servlet域对象中存储的数据,经常需要书写很多Java代码,这样的做法会使JSP页面混乱,难以维护,为此,在JSP2.0规范中提供了...

16810
来自专栏Seebug漏洞平台

Jenkins 未授权远程代码执行漏洞(CVE-2017-1000353)

漏洞概要 Jenkins 未授权远程代码执行漏洞, 允许攻击者将序列化的Java SignedObject对象传输给Jenkins CLI处理,反序列化Obj...

43060
来自专栏我就是马云飞

设计模式二十四章经之责任链模式

14030
来自专栏学习力

《Java从入门到放弃》框架入门篇:springMVC数据传递

15640

扫码关注云+社区

领取腾讯云代金券