java jstl_JAVA 之 JSTL

一、什么是JSTL

JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。

JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。 除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。

根据JSTL标签所提供的功能,可以将其分为5个类别。

核心标签

格式化标签

SQL 标签

XML 标签

JSTL 函数

二、JSTL的安装

从Apache的标准标签库中下载的二进包(jakarta-taglibs-standard-current.zip)

下载 jakarta-taglibs-standard-1.1.2.zip 包并解压,将 jakarta-taglibs-standard-1.1.2/lib/ 下的两个 jar 文件:standard.jar 和 jstl.jar 文件拷贝到 /WEB-INF/lib/ 下。

将 tld 下的需要引入的 tld 文件复制到 WEB-INF 目录下。

三、核心标签库

引用核心标签库语法

1、标签

标签用来显示一个表达式的结果,与作用相似。

语法格式

value:要输出的值    default:默认值  escapeXml:是否忽略xml特殊字符

JSTL

f7a8b425e79598c38865dd1eefd2e1e3.png

2、标签

标签用于设置变量值和对象属性。

语法格式:

var:存储信息的变量   value:要存储的值  target:要修改属性所属对象  property:要修改的属性  scope:var属性的作用域 默认page

JSTL

给bean赋值--%>

pageContext.setAttribute("user",user);%>

name=${user.name}

给map赋值 --%>

map=newHashMap();

pageContext.setAttribute("map", map);%>

map=${map }
name=${map.name }
age=${map.age }

num=${num}

c63e5bdd43c6b04f535331ebfe129976.png

3、标签

标签用于移除一个变量,可以指定这个变量的作用域,若未指定,则默认为变量第一次出现的作用域。

语法格式:

var:要移除的变量名  scope:变量所属的作用域

JSTL

删除指定域空间中的指定变量

name_request=${requestScope.name }
name_page=${pageScope.name }
name_session=${sessionScope.name }
name_application=${applicationScope.name }

-----------------------------


删除所有域中的属性值

name_request=${requestScope.name}
name_page=${pageScope.name }
name_session=${sessionScope.name }
name_application=${applicationScope.name }

df64af4a9c65f1e422d3aca4ba2a82cd.png

4、标签

标签主要用来处理产生错误的异常状况,并且将错误信息储存起来。

语法格式:

...

var:用来存储错误信息的变量

JSTL

异常为 : ${catchException}
发生了异常: ${catchException.message}

7c742281987271200023e5c59008e93b.png

5、标签

标签判断表达式的值,如果表达式的值为 true 则执行其主体内容。

语法格式:

...

test:条件  var:存储结果的变量  scope:var的作用域

JSTL

我的工资为:

8d8fc47785cbd8e10be400a3e98182ee.png

6、, , 标签

标签与Java switch语句的功能一样,用于在众多选项中做出选择。

switch语句中有case,而标签中对应有,switch语句中有default,而标签中有。

语法格式:

...

......

......

test:条件

JSTL

难搞哦

勉强能过

还行

66b6b931cd5e1c1904a824486bf2ee83.png

7、 标签

标签是更加通用的标签,因为它迭代一个集合中的对象。

语法格式:

items=""begin=""end=""step=""var=""varStatus="">...

items:要循环的信息  begin:开始的元素  end:最后一个元素  step:每次迭代的步长  var:代表当前条目的变量名称  varStatus:代表循环状态的变量名称

JSTL

---------遍历LIST-----------

names = new ArrayList();

names.add("zero 001");

names.add("zero 002");

names.add("zero 003");

pageContext.setAttribute("names",names);%>

${name}

---------遍历set-----------

address = new HashSet();

address.add("四川");

address.add("重庆");

address.add("北京");

pageContext.setAttribute("address",address);%>

${addr}

---------遍历map-----------

maps = new HashMap<>();

maps.put("name","zero");

maps.put("sex","男");

maps.put("address","四川");

pageContext.setAttribute("maps",maps);%>

${map}

---------遍历数组-----------

pageContext.setAttribute("hobbies",hobbies);%>

${hobby}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值