c标签与java结合实例_JavaWeb-JSTL标签库

本文详细介绍了JSTL的核心标签库,包括表达式控制标签如out和set,流程控制标签如if和choose,循环标签如forEach,以及URL操作标签如import和url。通过实例展示了如何在JSP页面中使用这些标签,以实现数据输出、存储、条件判断、循环操作和URL构造等功能,从而避免在页面中混杂Java代码,提高代码的可读性和规范性。
摘要由CSDN通过智能技术生成

概述

JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的。

使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码

JSTL标签库的分类

核心标签(用得最多)

国际化标签(I18N格式化标签)

数据库标签(SQL标签,很少使用)

XML标签(几乎不用)

JSTL函数(EL函数)

核心标签库使用说明

JSTL的核心标签库标签共13个,使用这些标签能够完成JSP页面的基本功能,减少编码工作。

从功能上可以分为4类:表达式控制标签、流程控制标签、循环标签、URL操作标签。

表达式控制标签:out标签、set标签、remove标签、catch标签。

流程控制标签:if标签、choose标签、when标签、otherwise标签。

循环标签:forEach标签、forTokens标签。

URL操作标签:import标签、url标签、redirect标签、param标签。

如果你想在项目中使用JSTL和EL表达式,那么你必须要引入这个standard.jar文件和jstl.jar

在JSP页面引入核心标签库的代码为:

表达式控制标签

1.标签(了解)

功能:

标签主要是用来输出数据对象(字符串、表达式)的内容或结果。

通过前面的学习我们知道在使用Java脚本输出时常使用的方式为: 或者

在web开发中,为了避免暴露逻辑代码会尽量减少页面中的Java脚本,使用标签就可以实现以上功能。

JSTL的使用是和EL表达式分不开的,EL表达式虽然可以直接将结果返回给页面,但有时得到的结果为空,有特定的结果处理功能,EL的单独使用会降低程序的易读性,建议把EL的结果输入放入标签中。

语法:

标签的使用有两种语法格式:

默认值

这两种方式没有本质的区别,只是格式上的差别。[escapeXml=”true|false”] [default=”默认值”]这些使用[]属性表示是不是必须的。

属性:

属性名

是否支持EL

属性类型

属性描述

value

true

Object

指定要输出的内容

escapeXml

true

Boolean

指定是否将>、

default

true

Object

如果value为null时所输出的默认值

使用范例:

JSTL: --表达式控制标签“out”标签的使用

  • (1)
  • (2)
  • (3)
  • (4)

符号。 --%>

(5)(6)使用了默认值(7)(8)(9)

运行结果如下:

d356c52308a2

2.标签(了解)

功能:

标签用于把某一个对象存在指定的域范围内,或者将某一个对象存储到Map或者JavaBean对象中。

语法:

标签的编写共有4种语法格式。

语法1:存值,把一个值放在指定的域范围内。

含义:把一个变量名为name1值为“值1”的变量存储在指定的scope范围内。

语法2:

值2

含义:把一个变量名为name2,值为值2的变量存储在指定的scope范围内。

语法3:

含义:把一个值为“值3”赋值给指定的JavaBean的属性名。相当与setter()方法。

语法4:

值4

含义:把一个值4赋值给指定的JavaBean的属性名。

从功能上分,语法1和语法2、语法3和语法4的效果是一样的,只是把value值放置的位置不同,至于使用那个根据个人的喜爱。

语法1和语法2是向scope范围内存储一个值。

语法3和语法4是给指定的JavaBean赋值。

属性:

d356c52308a2

使用范例:

(或者使用person.toString()方法)。 --%>

JSTL: --表达式控制标签“set”标签的使用

代码给出了给指定scope范围赋值的示例。

标签将data1的值放入page范围中。--%>

把一个值放入page域中:从page域中得到值:${pageScope.data1}

标签将data2的值放入request范围中。--%>

把一个值放入request域中:从request域中得到值:${requestScope.data2}

标签将值name1的值放入session范围中。--%>

把一个值放入session域中。从session域中得到值:${sessionScope.name1} 把一个值放入application域中。白虎神皇

标签输出使得页面规范化。 --%>

使用out标签和EL表达式嵌套从application域中得到值:

未得到name的值

未指定scope的范围,会从不同的范围内查找得到相应的值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值