EL表达式与JSTL:隐含对象param与paramValues的使用
需积分: 9 37 浏览量
更新于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应用中数据交互的强大工具集。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2022-05-18 上传
2022-05-18 上传
2009-11-27 上传
2012-01-16 上传
2008-08-20 上传
2011-01-14 上传
深井冰323
- 粉丝: 24
- 资源: 2万+
最新资源
- 人工智能实验——深度学习基于TensorFlow的CAPTCHA注册码识别实验.zip
- FPGA-ejij.rar_认证考试资料_VHDL_
- mivida_app_server
- demhademha.github.io
- 人工智能与自动化《人工智能》课程作业.zip
- samples-browser:浏览器应用的寓言样本
- 公交商场
- 参考资料-421.环氧煤沥青涂料性能试验报告.zip
- household:房屋存货管理申请书
- WebApiExample:一个示例Web API项目,用于测试不同的功能,例如简单和复合参数查询,自动生成的文档以及不同的输出格式配置(HTML,JSON)
- color-converter:轻松将RGB格式颜色转换为HEXInterger!
- coding-exercises:我在评估候选人时正在使用的一些编码练习
- 人工智能写词机.zip
- mn.rar_LabView_
- spring-custom-event-handling
- 项目1