EL表达式与JSTL:隐含对象param与paramValues的使用
需积分: 9 176 浏览量
更新于2024-08-18
收藏 3.74MB PPT 举报
"这篇文档介绍了EL(Expression Language)表达式以及如何在JSTL标签库中使用它们,特别是与输入相关的隐含对象param和paramValues。EL是JSTL的一部分,起初仅在JSTL标签内使用,后来成为了JSP 2.0的标准,使得在JSP页面中直接使用EL变得可能。文档详细阐述了EL的语法结构,包括.和[]运算符的使用,并解释了它们在不同情况下的差异。"
EL表达式是用于在Java服务器页面(JSP)中简便地访问和操作数据的语言。它起源于JSTL(JavaServer Pages Standard Tag Library)1.0,主要用于简化数据获取。EL表达式通常以`${}`包裹,例如 `${sessionScope.user.sex}`,这表示从Session范围中获取用户对象的性别属性。EL提供了`.`和`[]`两种运算符来访问对象的属性。`.`运算符用于简单的属性访问,而`[]`运算符则允许使用动态属性名或处理包含特殊字符的属性名。
`.`和`[]`运算符的使用有以下几点需要注意:
1. 如果属性名包含非字母或数字的特殊字符,如`-`,则必须使用`[]`。例如,正确的写法是 `${user["My-Name"]}`,而不是 `${user.My-Name}`。
2. 当需要根据变量来动态获取属性时,`[]`运算符也是必需的。比如 `${sessionScope.user[data]}`,这里的`data`变量可以指向`"sex"`或`"name"`,使得EL表达式能够根据`data`的值动态地访问`user`对象的不同属性。
EL表达式的其他特性包括:
- 当`expr-a`的值为`null`时,`expr-a[expr-b]`会返回`null`。
- 若`expr-b`的值为`null`,同样返回`null`。
- 如果`expr-a`是一个`Map`类型,`expr-a[expr-b]`将根据`expr-b`的值作为键来获取`Map`中的值。
在处理用户输入时,`param`和`paramValues`是EL中的两个隐含对象。`param`用于获取单个请求参数的值,如 `${param.name}`,而`paramValues`则用于获取同一个参数名的多个值,例如在多选框提交场景中,可以使用 `${paramValues.name}` 获取一个数组。
在JSTL中,除了EL表达式,还可以结合使用其他标签库功能,如`<c:out>`标签用于安全地输出数据,防止跨站脚本攻击(XSS)。这些工具共同构成了处理Web应用中数据交互的强大工具集。
2009-11-27 上传
2022-05-18 上传
2012-01-16 上传
2022-05-18 上传
点击了解资源详情
点击了解资源详情
2008-07-22 上传
2011-01-14 上传
点击了解资源详情
深井冰323
- 粉丝: 24
- 资源: 2万+
最新资源
- C++ Qt影院票务系统源码发布,代码稳定,高分毕业设计首选
- 纯CSS3实现逼真火焰手提灯动画效果
- Java编程基础课后练习答案解析
- typescript-atomizer: Atom 插件实现 TypeScript 语言与工具支持
- 51单片机项目源码分享:课程设计与毕设实践
- Qt画图程序实战:多文档与单文档示例解析
- 全屏H5圆圈缩放矩阵动画背景特效实现
- C#实现的手机触摸板服务端应用
- 数据结构与算法学习资源压缩包介绍
- stream-notifier: 简化Node.js流错误与成功通知方案
- 网页表格选择导出Excel的jQuery实例教程
- Prj19购物车系统项目压缩包解析
- 数据结构与算法学习实践指南
- Qt5实现A*寻路算法:结合C++和GUI
- terser-brunch:现代JavaScript文件压缩工具
- 掌握Power BI导出明细数据的操作指南