2020-12-29

el表达式和JSTL标签
el表达式的主要作用:

el表达式的主要作用是替代JSP页面里面的脚本表达式,在jsp页面里面夹杂着脚本会使页面显得杂乱且不美观,实用el表达式可以改善这些弊端。如果说具体的作用,简而言之就是实用el表达式和jstl标签就可以实现Java的效果,包括对象、属性、方法、集合、数组运算以及逻辑。注意jstl标签库是需要下载导入jar包的。

el表达式的语法及使用示例
el表达式获取数据语法:"${标识符}"

EL表达式语句在执行时,会调用pageContext.findAttribute方法,用标识符为关键字,分别从page、request、session、application四个域中查找相应的对象,找到则返回相应对象,找不到则返回”” (注意,不是null,而是空字符串)。
在上述的四个域中,如果el表达式里面的标识符一样,也就是查询依据一样的情况下,查询顺序是从域范围小到大依次查找,也就是page、request、session、application这个顺序。

 <% 
  request.setAttribute("name","李海柱");
 %>
 使用EL表达式获取数据:${name} 
 ${name}等同于<%pageContext.findAttribute("name")%>

使用el表达式可以直接对象.属性,需要注意的是这里即使在Hero类里面的age属性是private私有化的也可以在其他jsp页面里面直接获取的原因是因为在Hero里面提供了get/set方法,el表达式的底层通过get、set方法获取的。

<%  
	Hero hero = new Hero();
	p.setAge(12);
	request.setAttribute("hero",hero);
%>
使用el表达式可以获取bean的属性:${hero.age}

在jsp页面中,使用el表达式获取list集合中指定位置的数据

 <% 
	Hero h1 = new Hero();
	p1.setName("李白");
	Hero h2 = new Hero();
	p2.setName("韩信");
	List<Hero> list = new ArrayList<Hero>();
	list.add(h1);
	list.add(h2);    
	request.setAttribute("list",list);
%>
<!-- 取list指定位置的数据 -->
${list[1].name} 

也可以迭代集合List集合以及Map集合 需要用到jstl标签(jstl标签里面提供了一些方法、逻辑关系等,包括迭代、if判断等)
注意点:必须把数据传输到域内
jstl标签 <c>...</c>

<!-- 迭代List集合 -->
<c:forEach var="hero" items="${list}">
${hero.name}
</c:forEach>
// 创建Map集合
Map map = new HashMap();
map.put("c","china");
map.put("a","america");
map.put("j","japan");
// 注意必须把数据传输到域内
request.setAttribute("map",map);
 <!-- 迭代Map集合 -->
<c:forEach var="country" items="${map}">
${country.key}=${country.value}<br/>
</c:forEach>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值