Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >JSP 语法

JSP 语法

作者头像
希希里之海
发布于 2018-08-10 08:09:02
发布于 2018-08-10 08:09:02
5.9K00
代码可运行
举报
文章被收录于专栏:weixuqin 的专栏weixuqin 的专栏
运行总次数:0
代码可运行

JSP 语法

脚本程序

脚本程序可以包含任意量的Java语句、变量、方法或表达式,只要它们在脚本语言中是有效的。(其中声明的变量为局部变量)

脚本程序的语法格式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<% 代码片段 %>

中文编码问题

如果我们要在页面正常显示中文,我们需要在 JSP 文件头部添加以下代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

JSP声明

一个声明语句可以声明一个或多个变量、方法,供后面的Java代码使用。在JSP文件中,您必须先声明这些变量和方法然后才能使用它们。(全局变量)

JSP声明的语法格式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<%! declaration; [ declaration; ]+ ... %>

JSP表达式

一个JSP表达式中包含的脚本语言表达式,先被转化成String,然后插入到表达式出现的地方。不能使用分号来结束表达式。

JSP表达式的语法格式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<%= 表达式(变量) %>

指令

描述

<%@ page ... %>

定义网页依赖属性,比如脚本语言、error页面、缓存需求等等

<%@ include ... %>

包含其他文件

<%@ taglib ... %>

引入标签库的定义

JSP注释

JSP注释主要有两个作用:为代码作注释以及将某段代码注释掉。

JSP注释的语法格式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<%-- --%>

JSP指令

JSP指令用来设置与整个JSP页面相关的属性。

JSP指令语法格式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<%@ directive attribute="value" %>

JSP行为

JSP行为标签使用XML语法结构来控制servlet引擎。它能够动态插入一个文件,重用JavaBean组件,引导用户去另一个页面,为Java插件产生相关的HTML等等。

行为标签只有一种语法格式,它严格遵守XML标准:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<jsp:action_name attribute="value" />

JSP 动作元素

  • 包含文件:<jsp:include>
  • 请求转发:<jsp:forward>, 如果转发目标是一个动态文件,还可以向该文件中传递多个参数。 <jsp:forward page="文件路径"> <jsp param name="参数名称" value="值1"/> ...
  • 声明使用 JavaBean: <jsp:useBean>
  • 设置 JavaBean 属性值:<jsp:setProperty>
  • 获取 JavaBean 属性值:<jsp:getProperty>
  • 声明使用Java插件:<jsp:plugin><jsp:fallback>
  • 参数传递:<jsp:params><jsp:params><jsp:params>

JSP内置对象

  • 请求对象:request
  • 响应对象:response
  • 会话对象:session
  • 多客户端共享对象:application
  • 页面对象:page
  • 页面上下文对象:pageContext
  • 输出对象:out
  • 配置对象:config
  • 异常对象:exception

JavaBean 组件技术

JavaBean 是使用 Java 语言描述的软件组件模型,简单地说,它就是一个可以重复使用的 java 类。

setXXX()getXXX() 方法的属性名称首字母大写。

JavaBean 属性
  • 简单属性 JavaBean 的简单属性 (simple) 表示为一般数据类型的变量并且 getXXX()setXXX() 方法是以属性来命名的。
  • 索引属性 JavaBean 的索引属性(Indexed 属性)表示一个数组值或者一个集合,与 simple 属性与一样,可以使用 getXXX()setXXX() 方法来获取值。 对于 indexed 属性,必须提供两对相匹配的 getXXX()setXXX() 方法,一对是用来设置整个数组,另一对是用来获得或设定数组中的某个元素。
  • 束缚属性
  • 限制属性
JavaBean 的作用域

使用<jsp:useBean>标签中的 scope 关键字可以设置 Javabean 的 scope 属性,scope 属性决定了 javabean 对象的生存周期范围和使用范围。scope 的可选值包括 page,request,session 和 application,默认值为 page。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-08-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
SpringCloud Alibaba Seata处理分布式事务
分布式之后:   单体应用被拆分成微服务应用,原来的三个模块被拆分成三个独立的应用,分别使用三个独立的数据源,业务操作需要调用三个服务来完成。此时每个服务内部的数据一致性由本地事务来保证,但是全局的数据一致性问题没法保证。
别团等shy哥发育
2023/02/25
2940
SpringCloud Alibaba Seata处理分布式事务
Seata分布式事务 (理论与部署相结合)
在数据库水平拆分、服务垂直拆分之后,一个业务操作通常要跨多个数据库、服务才能完成。例如电商行业中比较常见的下单付款案例,包括下面几个行为:
不吃紫菜
2023/03/08
1.4K0
Seata分布式事务 (理论与部署相结合)
分布式事务解决方案之Seata管理
前面两篇文章,已经讲解什么是分布式事务,并且讲解了XA协议和TCC三段提交来解决分布式服务,其实这两种方式都是有缺点,要么比较古老,要么实现起来复杂度搞。那么有没有一个第三方框架,能够直接整合到现有项目,直接把本地事务改成全局分布式事务,类似我们使用Transation注解一样。本文就是讲解新的一种解决方案,也就是阿里提出的Seata。
小明爱吃火锅
2023/12/10
5532
Seata--分布式事务
事务指的就是一个操作单元,在这个操作单元中的所有操作最终要保持一致的行为,要么所有操作都成功,要么所有的操作都被撤销。简单地说,事务提供一种“要么什么都不做,要么做全套”机制。
IT小马哥
2021/09/03
3700
Seata--分布式事务
Seata 分布式事务
四、修改 seata-server-0.9.0\seata\conf 目录下的 registry.conf 目录下的 registry.conf 配置文件
BUG弄潮儿
2021/06/25
5700
Seata 分布式事务
Seata分布式事务落地解决方案
上一篇文章介绍了分布式事务理论和相关解决方案的具体思路,我们下面快速复习一下相关知识点:
大忽悠爱学习
2023/02/13
1K0
Seata分布式事务落地解决方案
使用Seata彻底解决Spring Cloud中的分布式事务问题!
随着业务需求的变化,单体应用被拆分成微服务应用,原来的三个模块被拆分成三个独立的应用,分别使用独立的数据源,业务操作需要调用三个服务来完成。此时每个服务内部的数据一致性由本地事务来保证,但是全局的数据一致性问题没法保证。
macrozheng
2019/11/23
2.2K0
Seata 分布式事务
单体应用被拆分成微服务应用,原来的三个模块被拆分成三个独立的应用,分别使用三个独立的数据源,业务操作需要调用三三 个服务来完成。此时每个服务内部的数据一致性由本地事务来保证, 但是全局的数据一致性问题没法保证。
用户9615083
2022/12/25
8310
Seata 分布式事务
​深入了解分布式事务组件 Seata (一)
分布式事务的问题,在微服务架构中一直是难题。单体应用实现本地事务即可,到了分布式环境,情况就变得复杂。一个请求可能涉及多个服务,上下游存在依赖关系,其中的一环失败,需要将整个事务回滚。笔者在去年上半年开源过一款微服务的分布式事务组件:lottor,基于可靠消息的柔性分布式事务实现方案。引入的 Lottor 客户端使用比较复杂,具有业务侵入性。推广使用的效果并不是很好。阿里在今年年初开源了 Seata(原名 fescar),引起了强烈的反响。笔者最近也在考虑改进 Lottor,借学习实践 Seata 的机会,和大家分享一下。
aoho求索
2019/10/20
1.2K0
SpringCloud Alibaba 实战教程10-seata1.3整合nacos实现分布式事务
Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。
gang_luo
2021/02/04
8290
SpringCloud Alibaba 实战教程10-seata1.3整合nacos实现分布式事务
分布式事务框架Seata
1. 数据库管理系统中事务(transaction)的四个特性:简称ACID(这种特性简称刚性事物)
全栈程序员站长
2022/11/17
8430
分布式事务框架Seata
处理分布式事务(SpringCloud Alibaba Seata)
Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。
鱼找水需要时间
2023/02/16
2630
处理分布式事务(SpringCloud Alibaba Seata)
Java学习笔记-微服务(9)-终-分布式事务Seata
在微服务中,一定存在多个数据库,那么多个数据库间如何处理分布式事务?对于分布式事务问题,有哪些解决方案?
咸鱼程序员
2025/03/09
1500
Java学习笔记-微服务(9)-终-分布式事务Seata
架构设计 | 基于Seata中间件,微服务模式下事务管理
Seata是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata将为用户提供了AT、TCC、SAGA、XA事务模式,为用户打造一站式的分布式解决方案。
知了一笑
2020/09/18
7170
从分布式事务解决到Seata使用,一梭子给你整明白了
大家好,欢迎来到小菜同学的个人 solo 学堂,知识免费,不吝吸收!关注免费,不吝动手!
蔡不菜丶
2021/04/16
8990
从分布式事务解决到Seata使用,一梭子给你整明白了
SpringCloud Alibaba Seata处理分布式事务
​ 单体应用被拆分成微服务应用, 原来的三个模块被拆分成三个独立的应用,分别使用三个独立的数据源。
OY
2022/03/17
5140
SpringCloud Alibaba Seata处理分布式事务
分布式事务--Seata
Seata是分布式事务解决方案。致力于提供**高性能**和**简单易用**的分布式事务服务,为用户打造一站式的分布式解决方案。官网地址:http://seata.io/,其中的文档、播客中提供了大量的使用说明、源码分析。
忆愿
2024/07/28
1410
分布式事务--Seata
Spring Cloud同步场景分布式事务怎样做?试试Seata
在微服务架构下,虽然我们会尽量避免分布式事务,但是只要业务复杂的情况下这是一个绕不开的问题,如何保证业务数据一致性呢?本文主要介绍同步场景下使用Seata的AT模式来解决一致性问题。
陶陶技术笔记
2020/06/02
7300
Spring Cloud同步场景分布式事务怎样做?试试Seata
seata---分布式事务处理
Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。
大忽悠爱学习
2021/12/07
8410
seata---分布式事务处理
微服务痛点-基于Dubbo + Seata的分布式事务(AT)模式
Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。对于Seata不太了解的朋友,可以看下我之前写的文章: 微服务开发的最大痛点-分布式事务SEATA入门简介。
sanshengshui
2020/12/23
6960
微服务痛点-基于Dubbo + Seata的分布式事务(AT)模式
相关推荐
SpringCloud Alibaba Seata处理分布式事务
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验