EL表达式

您所在的位置:网站首页 el表达式取值顺序 EL表达式

EL表达式

2023-09-24 14:06| 来源: 网络整理| 查看: 265

Map集合中数据的显示 EL表达式jstl标签库:Map集合中数据的显示

EL表达式

EL(Expression Language 表达式语言)定义了一系列隐含对象和操作符,无须Java代码即可方便地访问pageContext、request、session、application作用域中的对象。

jstl标签库:

JSTL(JSP Standard Tag Library,JSP标准标签库)是一个开源代码的JSP标签库。 使用前操作: a,向web工程lib文件中导入相应的jstl jar文件 b,引入jstl标签库

有关循环标签: forTokens标签和forEach标签,forEach标签用于遍历集合或数组中的数据,如下语法:

循环体

【说明】:   (1)var设定变量名,该变量名用于存储从集合或数组中遍历出来的元素数据。   (2)items指定要遍历的集合。   (3)varStatus设定变量名,该变量名保存了循环进行过程中的状态信息, 包括:index(当前循环索引)、count(循环的次数)、first(是否为第一个位置)和last(是否为最后一个位置)。   (4)begin、end用于指定遍历的起始位置和终止位置。   (5)step指定循环的步长,默认为1。

特别注意: EL表达式和jstl标签只能用在JSP文件中。

Map集合中数据的显示

Map集合中数据的显示: NewFileServlet.java 中代码如下:

package com.zzu.servlet; import java.io.IOException; import java.util.HashMap; import java.util.Map; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class NewFileServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Map map=new HashMap(); map.put("Lily", 100.0); map.put("Yxx", 110.0); request.setAttribute("map", map); request.getRequestDispatcher("NewFile.jsp").forward(request, response); } }

NewFile.jsp中代码:遍历出单个的两种方法

Insert title here ${map.Lily } ~~~~~~ ${map['Lily'] }

用 http://127.0.0.1/sun/NewFileServlet 访问 输出结果如下: 在这里插入图片描述 遍历出所有的用循环标签,代码如下:这里注意导jar包

Insert title here ${m.key } : ${m.value }

输出结果如下: 在这里插入图片描述 当key为数值型时: 1,循环遍历输出的结果如下: 在这里插入图片描述 2,输出单个:

${map.2 }

在这里插入图片描述 3,输出单个:

${map['2'] } ${map["1"] }

在这里插入图片描述 当key为Integer类型时: 在这里插入图片描述

${map['2'] } ~~~~~~ ${map["1"] }

得不到要的数据,只能使用遍历。 在这里插入图片描述 注意: 1、Map集合的key最好符合Java标识符规范,如果不符合,则在EL表达式中不能使用.的方式获取到Map相应的value,只能通过[]的方式获取到相应的value; 2、Map集合key的泛型不能是Java基本数据类型的包装类,否则EL表达式无论使用那种方式都无法获取到相应的value。 有关点和[ ]操作符 点操作符: EL表达式通常由两部分组成:对象和属性。在EL表达式中,可以使用点操作符来访问对象的属性,例如${user.id}就是访问user对象的id属性。 [ ]操作符: [ ]操作符也可以访问对象的属性,例如 $ {user.id}也可以写成 ${user[“id”] }。当要存取的属性名称中包含一些特殊字符,如 “.” 或 “-” 等非字母或数字的符号时,就需要使用[]操作符。例如 $ {user.my.id}应当改为 $ {user[“my.id”] }。当动态取值时,需要用[]操作符来做,而点操作符无法做到动态取值,例如在 $ {sessionScope.user[index] }中,index时一个变量。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3