文章目录

  • 一、简答题
    • 1.简述什么是EL表达式?
    • 2.简述EL表达式的作用
    • 3.简述JSTL的作用
  • 二、选择题
  • 三、编码题
    • 1.使用EL表达式获取下列List集合的数据
    • 2.使用JSTL标签完成下列需求

一、简答题

1.简述什么是EL表达式?

EL表达式是为了使JSP写起来更加简单。借鉴了JavasScript多类型转换无关性的特点,并且简单的标签来表现复杂的逻辑,将用户从类型转换的繁琐工作中脱离出来。

2.简述EL表达式的作用

①获取作用域中数据;②用于计算。

3.简述JSTL的作用

①增加可读性。②将业务封装到JSTL可以方便重用。③数据与显示分离。④简化JSP开发,易于维护。⑤可以对其进行自定义扩展。

二、选择题

(1)下列说法正确的是()

  • A. EL表达式查找对象的范围依次是request,pageContext,session,application。
  • B. 使用EL表达式输出对象的属性值时,如果属性值为空,则输出空白。
  • C. 如果指定了对象的查找范围,那么如果在该范围内没有找到绑定的对象则不会再去其他范围进行查找了。
  • D. 使用EL表达式输出Bean属性时,不允许使用下标的形式。

正确答案:C 执行的过程为从pageContext、request、session、application四个作用域中依次查找。

(2)下列说法正确的是()
A. 核心标签中的if标签、choose标签、forEach标签都有test属性。
B. 核心标签中的choose标签内可以包含when和otherwise子标签。
C.无法获取forEach标签迭代时的下标。
D. 自定义标签时可以继承自javax.servlet.jsp.tagext.SimpleTagSupport类。

正确答案:A,B,C,D forEach标签迭代时的下标可以通过varStatus获取。

三、编码题

1.使用EL表达式获取下列List集合的数据

<%List<String> list = new ArrayList<String>();list.add("李芙蓉");list.add("杨芙蓉");list.add("王凤");pageContext.setAttribute("list", list);
%>

代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><html><head><meta http-equive="content-type" content="text/html,charset=utf-8"/></head><%List<String> list = new ArrayList<String>();list.add("李芙蓉");list.add("杨芙蓉");list.add("王凤");pageContext.setAttribute("list", list);%><body>${list[0]},${list[1]},${list[2]}.</body>
</html>

2.使用JSTL标签完成下列需求

首先给出JavaBean,完成下列三个需求。

<%@ page language="java" import="java.util.*,bean.*" pageEncoding="utf-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html><head><meta http-equive="content-type" content="text/html;charset=utf-8"/><style type="text/css">.s0{color:red;}.s1{color:pink;}</style></head><body><%List<Employee> employees = new ArrayList<Employee>();employees.add(new Employee("Jim","man"));employees.add(new Employee("Kitty","woman"));employees.add(new Employee("KangKang","man"));employees.add(new Employee("Tom","man"));session.setAttribute("employees",employees);%><c:forEach var ="emp" items="${sessionScope.employees}" varStatus="s"><p class="s${s.index%2}">姓名:${emp.name }&nbsp;&nbsp;性别:<c:if test="${emp.gender=='man'}" var="rs">男</c:if><c:if test="${!rs}">女</c:if>&nbsp;&nbsp;index:${s.index}&nbsp;&nbsp;count:${s.count}</p></c:forEach></body>
</html>

需求(1):在JSP页面中创建的Employee对象,并为属性赋值,gender属性存储man和woman用来代表男和女。使用if标签判断gender属性的值,值是man输出男,不是man则输出女。

<%@ page language="java" import="java.util.*,bean.*" pageEncoding="utf-8"%><%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><html><head><meta http-equive="content-type" content="text/html;charset=utf-8"/></head><body><%Employee employee = new Employee("tom","man");request.setAttribute("employee",employee);%>姓名:${employee.name}<br/>性别:<c:if test="${employee.gender=='man' }" var="rs" scope="request">男</c:if><c:if test="${!rs}">女</c:if></body>
</html>

需求(2):使用choose标签实现Employee对象gender属性的值的判断及输出。

<%@ page language="java" import="java.util.*,bean.*" pageEncoding="utf-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><html><head><meta http-equive="content-type" content="text/html;charset=utf-8"/></head><body><%Employee employee = new Employee("tom","man");request.setAttribute("employee",employee);%>姓名:${requestScope.employee.name}<br/>性别:<c:choose><c:when test="${requestScope.employee.gender=='man'}">男</c:when><c:when test="${requestScope.employee.gender=='woman'}">女</c:when><c:otherwise>其他</c:otherwise></c:choose></body>
</html>

需求(3):使用forEach标签输出request中绑定的集合中对象的属性值实现不同对象隔行变色的功能。

<%@ page language="java" import="java.util.*,bean.*" pageEncoding="utf-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html><head><meta http-equive="content-type" content="text/html;charset=utf-8"/><style type="text/css">.s0{color:red;}.s1{color:pink;}</style></head><body><%List<Employee> employees = new ArrayList<Employee>();employees.add(new Employee("Jim","man"));employees.add(new Employee("Kitty","woman"));employees.add(new Employee("KangKang","man"));employees.add(new Employee("Tom","man"));session.setAttribute("employees",employees);%><c:forEach var ="emp" items="${sessionScope.employees}" varStatus="s"><p class="s${s.index%2}">姓名:${emp.name }&nbsp;&nbsp;性别:<c:if test="${emp.gender=='man'}" var="rs">男</c:if><c:if test="${!rs}">女</c:if>&nbsp;&nbsp;index:${s.index}&nbsp;&nbsp;count:${s.count}</p></c:forEach></body>
</html>

练习:EL表达式和JSTL标签库试题相关推荐

  1. spring mvc学习(37):JavaEE-JSP基础-EL表达式和JSTL标签库(Taglibs)

    EL表达式和JSTL标签库: 在JSP页面代替java代码,便于编写 一.EL表达式 作用: ${} 简化脚本表达式 <%= %> j2ee1.4以前版本需指定<%@ page is ...

  2. java标签库jstl-el表达式介绍使用配置手册_JAVA EE 实验报告EL表达式和jstl标签库的使用...

    昆明理工大学信息工程与自动化学院学生实验报告 ( 2013 -2014 学年第一学期) 课程名称:Java EE技术开课实验室:系机房444 2013 年 12月2 日年级.专业.班计科111 学号姓 ...

  3. 28. EL 表达式 以及 JSTL 标签库

    28. EL 表达式 以及 JSTL 标签库 1.EL 表达式 a)什么是 EL 表达式,EL 表达式的作用? EL 表达式的全称是:Expression Language.是表达式语言. EL 表达 ...

  4. Java Web - EL表达式和JSTL标签库

    在使用servlet和jsp的过程中,两者之间的数据流转是十分常见的,jsp实际上也是一种servlet,也就是两个servlet之间的数据流转,我们根据不同的使用场景选择使用,请求转发(在reque ...

  5. Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用

    来自:http://blog.csdn.net/love_you_99/article/details/8184797 一 介绍 1.Struts2的作用 Struts2标签库提供了主题.模板支持,极 ...

  6. EL表达式和JSTL标签库使用

    EL表达式 介绍: EL(Expression Language)  目的:为了使JSP写起来更加简单. 表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP ...

  7. EL表达式和JSTL标签库学习笔记

    先说一些数据库的知识,在进行表的操作时,若有一对多的关系,则在建外键时应选择多的一方.如user和group的对应关系,应在一个user属于多少个group,而不是一个group有多少用户,虽然这样也 ...

  8. EL表达式与Jstl标签库学习

    一.EL表达式 1)概念:Expression Language(EL表达式),jsp文件内置的一种能简化代码的表达式,可供jsp文件对流转数据的读取. 2)作用:让 jsp 书写起来更加的方便.简化 ...

  9. EL表达式、JSTL标签库、文件上传和下载

    一.EL表达式 1.什么是EL表达式,EL表达式的作用? EL表达式的全称是:Expression Language,是表达式语言. EL表达式的作用:EL表达式主要是替代jsp页面中的表达式脚本在j ...

最新文章

  1. Android存储方式之SQLite
  2. 学习笔记1(第五周)
  3. 职场上个人的核心技术_在职场上,一定要让自身强大起来!
  4. vuedraggle choose_如何拆分员工工资条,教你一招一学就会。(五)函数CHOOSE
  5. jquery 判断元素可见性
  6. PTA(BasicLevel)-1009 说反话
  7. 数学建模——五大类模型
  8. CodeForces 1556C :Compressed Bracket Sequences 思维
  9. Android性能优化—— 黑白屏启动优化
  10. AttributeError: ‘str‘ object has no attribute ‘spilt‘ on line 9
  11. 伪造微信语音文件的过程分析
  12. Java fx 变速播放音乐_QVE音频剪辑如何调整音频播放速度?音乐变速方法说明
  13. 汽车转向前后轮轨迹matlab程序,车前进后退方向的口诀,动画图解车前后轮转弯轨迹...
  14. ChinaSoft 论坛巡礼 | 顶会顶刊论坛
  15. RK3399教程:wifi驱动调试技巧
  16. PhpSpreadsheet读取excel
  17. 微信小程序网络字体安卓实机无法加载解决方案
  18. 超乎认知 认知智能十大黑科技 我国首次对外公布 道翰天琼认知智能
  19. html手机下拉菜单样式,MUI下拉菜单样式
  20. Java break语句:跳出循环

热门文章

  1. python实现十大经典算法
  2. 【记录】ubuntu wifi 图标消失,无法连接无线网,查询无线网卡型号安装驱动
  3. MySQL基础篇-SQL
  4. linux的lvcreate语句,linux中使用命令 vgcreate、lvcreate 和 lvextend 管理和创建 LVM
  5. 图像处理基础知识系列之五:贝叶斯方法简单梳理
  6. 【AHK】打开网络连接/打开wifi列表/打开蓝牙列表
  7. ByteBuf 操作
  8. 联想Y9000P W11出现 你的PIN不可用,单击以重新设置PIN,也未设置其他的登录方式时的解决办法
  9. ws协议与http协议的异同
  10. ESP32 入门笔记07: ESP-NOW (ESP32 for Arduino)