当前位置:网站首页>JSP语法及JSTL标签
JSP语法及JSTL标签
2022-04-23 05:42:00 【ShuangTwo】
JSP语法
脚本程序
脚本程序可以包含任意数量的Java语句、变量、方法或表达式,只要它们在脚本语言中是有效的。
<% 代码 %>
或者
<jsp:scriptlet>
代码
<jsp:scriptlet>
脚本声明
可以声明一个或多个变量、方法,供后面的Java代码使用。
<%! 声明内容 %>
或者
<jsp:declaratiuon>
声明内容
<jsp:declaratiuon>
JSP表达式:JSP表达式先被转化为String,然后插入到表达式出现的位置。
<%= 表达式 %>
或者
<jsp:expression>
表达式
</jsp:expression>
JSP注释
<%-- 注释 --%> JSP注释,注释内容不会被发送至浏览器甚至不会被编译
<!-- 注释 --> HTML注释,通过浏览器查看网页源代码时可以看见注释内容
JSP指令:用来设置与整个JSP页面相关的属性
语法格式
<%@ directive attribute="value" %>
<%@ page ... %> 定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等
<%@include file="fileName"%> 包含其他文件
<%@taglib prefix=""%> 引入标签库的定义,可以是自定义标签
Page指令相关属性;
属性 | 描述 |
---|---|
buffer | 指定out对象使用缓冲区的大小 |
autoFlush | 控制out对象的 缓存区 |
contentType | 指定当前JSP页面的MIME类型和字符编码 |
errorPage | 指定当JSP页面发生异常时需要转向的错误处理页面 |
isErrorPage | 指定当前页面是否可以作为另一个JSP页面的错误处理页面 |
extends | 指定servlet从哪一个类继承 |
import | 导入要使用的Java类 |
info | 定义JSP页面的描述信息 |
isThreadSafe | 指定对JSP页面的访问是否为线程安全 |
language | 定义JSP页面所用的脚本语言,默认是Java |
session | 指定JSP页面是否使用session |
isELIgnored | 指定是否执行EL表达式 |
JSP行为
语法格式
<jsp:action_name attribute="value" />
jsp:include 用于在当前页面中包含静态或动态资源
jsp:useBean 寻找和初始化一个JavaBean组件
jsp:setProperty 设置 JavaBean组件的值
jsp:getProperty 将 JavaBean组件的值插入到 output中
jsp:forward 从一个JSP文件向另一个文件传递一个包含用户请求的request对象
jsp:plugin 用于在生成的HTML页面中包含Applet和JavaBean对象
jsp:element 动态创建一个XML元素
jsp:attribute 定义动态创建的XML元素的属性
jsp:body 定义动态创建的XML元素的主体
jsp:text 用于封装模板数据
JSP隐含对象
equest HttpServletRequest类的实例
response HttpServletResponse类的实例
out PrintWriter类的实例,用于把结果输出至网页上
session HttpSession类的实例
application ServletContext类的实例,与应用上下文有关
config ServletConfig类的实例
pageContext PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问
page 类似于Java类中的this关键字
exception exception 类的对象,代表发生错误的 JSP 页面中对应的异常对象
JSP核心标签库JSTL
maven中引入两个依赖包
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
核心标签
在jsp文件中引入JSTL核心标签的语法
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:out> 用于在JSP中显示数据,就像<%= ... >
<c:set> 用于保存数据
<c:remove> 用于删除数据
<c:catch> 用来处理产生错误的异常状况,并且将错误信息储存起来
<c:if> 与我们在一般程序中用的if一样
<c:choose> 本身只当做<c:when>和<c:otherwise>的父标签
<c:when> <c:choose>的子标签,用来判断条件是否成立
<c:otherwise> <c:choose>的子标签,接在<c:when>标签后,当<c:when>标签判断为false时被执行
<c:import> 检索一个绝对或相对 URL,然后将其内容暴露给页面
<c:forEach> 基础迭代标签,接受多种集合类型
<c:forTokens> 根据指定的分隔符来分隔内容并迭代输出
<c:param> 用来给包含或重定向的页面传递参数
<c:redirect> 重定向至一个新的URL.
<c:url> 使用可选的查询参数来创造一个URL
格式化标签
引入格式化标签
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<fmt:formatNumber> 使用指定的格式或精度格式化数字
<fmt:parseNumber> 解析一个代表着数字,货币或百分比的字符串
<fmt:formatDate> 使用指定的风格或模式格式化日期和时间
<fmt:parseDate> 解析一个代表着日期或时间的字符串
<fmt:bundle> 绑定资源
<fmt:setLocale> 指定地区
<fmt:setBundle> 绑定资源
<fmt:timeZone> 指定时区
<fmt:setTimeZone> 指定时区
<fmt:message> 显示资源配置文件信息
<fmt:requestEncoding> 设置request的字符编码
SQL标签
引入SQL标签
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<sql:setDataSource> 指定数据源
<sql:query> 运行SQL查询语句
<sql:update> 运行SQL更新语句
<sql:param> 将SQL语句中的参数设为指定值
<sql:dateParam> 将SQL语句中的日期参数设为指定的java.util.Date 对象值
<sql:transaction> 在共享数据库连接中提供嵌套的数据库行为元素,将所有语句以一个事务的形式来运行
XML标签
引入XML标签
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
<x:out> 与<%= ... >,类似,不过只用于XPath表达式
<x:parse> 解析 XML 数据
<x:set> 设置XPath表达式
<x:if> 判断XPath表达式,若为真,则执行本体中的内容,否则跳过本体
<x:forEach> 迭代XML文档中的节点
<x:choose> <x:when>和<x:otherwise>的父标签
<x:when> <x:choose>的子标签,用来进行条件判断
<x:otherwise> <x:choose>的子标签,当<x:when>判断为false时被执行
<x:transform> 将XSL转换应用在XML文档中
<x:param> 与<x:transform>共同使用,用于设置XSL样式表
JSTL函数
引入JSTL函数
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
fn:contains() 测试输入的字符串是否包含指定的子串
fn:containsIgnoreCase() 测试输入的字符串是否包含指定的子串,大小写不敏感
fn:endsWith() 测试输入的字符串是否以指定的后缀结尾
fn:escapeXml() 跳过可以作为XML标记的字符
fn:indexOf() 返回指定字符串在输入字符串中出现的位置
fn:join() 将数组中的元素合成一个字符串然后输出
fn:length() 返回字符串长度
fn:replace() 将输入字符串中指定的位置替换为指定的字符串然后返回
fn:split() 将字符串用指定的分隔符分隔然后组成一个子字符串数组并返回
fn:startsWith() 测试输入字符串是否以指定的前缀开始
fn:substring() 返回字符串的子集
fn:substringAfter() 返回字符串在指定子串之后的子集
fn:substringBefore()返回字符串在指定子串之前的子集
fn:toLowerCase() 将字符串中的字符转为小写
fn:toUpperCase() 将字符串中的字符转为大写
fn:trim() 移除首尾的空白符
版权声明
本文为[ShuangTwo]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_43356538/article/details/118069845
边栏推荐
- The role of brackets' [] 'in the parameter writing method in MDN documents
- 橙单微服务之批量导入
- Package mall system based on SSM
- Issue 36 summary of atcoder beginer contest 248
- Linear sieve method (prime sieve)
- The list attribute in the entity is empty or null, and is set to an empty array
- Data mining -- understanding data
- Contract lock loophole
- C3P0数据库连接池使用
- Pavlov and hobbies
猜你喜欢
C, class library
MySQL lock mechanism
Frequently asked interview questions - 2 (computer network)
JVM系列(4)——内存溢出(OOM)
opensips(1)——安装opensips详细流程
2-软件设计原则
Find the number of "blocks" in the matrix (BFS)
Transposed convolution
Hongji | how does HR carry out self change and organizational change in the digital era?
Radar equipment (greedy)
随机推荐
多线程与高并发(3)——synchronized原理
World and personal development
Mysql 查询使用\G,列转行
DBCP使用
引航成长·匠心赋能——YonMaster开发者培训领航计划全面开启
Ora: 28547 connection to server failed probable Oracle net admin error
Establish excel bookkeeping book through setting context menu
Utf8 to STD: string and STD: string to utf8
The 8th Blue Bridge Cup 2017 - frog jumping cup
Frequently asked interview questions - 1 (non technical)
What is JSON? First acquaintance with JSON
Flutter nouvelle génération de rendu graphique Impeller
Breadth first search topics (BFS)
What financial products will benefit during May Day?
MySQL的锁机制
Interview Basics
Isosceles triangle - the 9th Lanqiao provincial competition - group C
OSI层常用协议
ES6之解构函数
Xiuxian real world and game world