0


EL 和 JSTL练习题

EL 和 JSTL练习题

单选题

1、
下列JSTL标签中,不属于流程控制标签的是( )

A、A、<c:set>
B、B、<c:choose>
C、C、<c:when>
D、D、<c:if>
参考答案 :
A
答案说明 :
<c:set>标签用于设置变量值和对象属性
2、
下列选项中,关于EL表达式语法的声明正确的是()。

A、A、

     < 
    
   
     u 
    
   
     s 
    
   
     e 
    
   
     r 
    
   
     n 
    
   
     a 
    
   
     m 
    
   
     e 
    
   
     > 
    
   
     B 
    
   
     、 
    
   
     B 
    
   
     、 
    
   
  
    <username> B、B、 
   
  
<username>B、B、{username}

C、C、

     ( 
    
   
     u 
    
   
     s 
    
   
     e 
    
   
     r 
    
   
     n 
    
   
     a 
    
   
     m 
    
   
     e 
    
   
     ) 
    
   
     D 
    
   
     、 
    
   
     D 
    
   
     、 
    
   
  
    (username) D、D、 
   
  
(username)D、D、[username]

参考答案 :
B
答案说明 :
EL表达式的语法声明都是以"

      " 
     
    
      符号开始,以 
     
    
      " 
     
    
   
     " 
    
   
     符号结束的,具体格式如: 
    
   
  
    {"符号开始,以"}"符号结束的,具体格式如: 
   
  
"符号开始,以""符号结束的,具体格式如:{表达式},其中的表达式必须符合EL语法要求

3、
阅读下面代码片段: c_out.jsp: <%–第1个out标签 --%> userName1属性的值为: <c:out value=“username1” default=“unknown” /> <%–第2个out标签 --%> userName2属性的值为: <c:out value=“username2”> unknown </c:out> 当使用浏览器访问c_out.jsp时页面显示的效果是()

A、A、userName1属性的值为:unknown userName2属性的值为: username2
B、B、userName1属性的值为:username1 userName2属性的值为: username2
C、C、userName1属性的值为: null userName2属性的值为: null
D、D、userName1属性的值为:username1 userName2属性的值为: unknown
参考答案 :
B
答案说明 :
输出文本内容为value属性的值,当value属性为null时则输出的默认值
4、
下列选项不属于EL中的关键字的是()

A、A、and
B、B、or
C、C、not
D、D、no
参考答案 :
D
答案说明 :
EL中所有的关键字: and eq gt true instanceof or ne le false empty not lt ge null div mod
5、
下列关于<c:out>标签的说法,错误的是( )

A、A、<c:out>标签用于输出数据
B、B、<c:out>标签能够实现类似于JSP表达式的功能
C、C、<c:out>标签的value属性指定要输出的数据
D、D、<c:out>标签的value属性不能是EL表达式
参考答案 :
D
答案说明 :
<c:out>标签的value属性可以是EL表达式
6、
关于EL中的隐式对象,下列说法错误的是()。

A、A、pageScope可以取出最小的域对象PageContext中的参数
B、B、request,session是El中的内置对象
C、C、EL中有11个隐式对象,常用的有pageScope,reuqestScope,sessionScope,applicationScope
D、D、EL和jstl相辅相成,丰富jsp功能
参考答案 :
B
答案说明 :
EL中有11个隐式对象,常用的有pageScope,reuqestScope,sessionScope,applicationScope。 request,session是JSP中的内置对象
7、
关于EL表达式${(1==2)?3:4}的运算结果正确的是( )

A、A、true
B、B、false
C、C、3
D、D、4
参考答案 :
D
答案说明 :
判断1是否等于2,等于返回3,不等于则返回4
8、
阅读下面代码片段: c_if.jsp: <c:if test=“${1==1}” > hello world </c:if> 当在浏览器访问该c_if.jsp时的效果是( )

A、A、浏览器空白,控制台有信息显示
B、B、浏览器报错,控制台出现异常
C、C、浏览器显示:hello world,控制台正常
D、D、浏览器正常,控制台显示:hello world
参考答案 :
C
答案说明 :
test属性用于设置逻辑表达式,结果为true时则要输出标签体中的内容
9、
关于EL表达式语言,下列说法错误的是( )

A、A、EL表达式中的变量要预先定义才能使用
B、B、它的基本形式为${var}
C、C、只有在JSP文件中才能使用EL语言,在Servlet类的程序代码中通常不使用它
D、D、它能使JSP文件的代码更加简洁
参考答案 :
A
答案说明 :
EL中的变量就是一个基本的存储单元,EL中的变量不用事先定义就可以直接使用。使用EL的方式获取域对象中存储的数据
10、
下面选项中,与request.getAttribute(“p”);等效的EL表达式是()

A、A、

     < 
    
   
     r 
    
   
     e 
    
   
     q 
    
   
     u 
    
   
     e 
    
   
     s 
    
   
     t 
    
   
     . 
    
   
     p 
    
   
     > 
    
   
     B 
    
   
     、 
    
   
     B 
    
   
     、 
    
   
  
    <request.p> B、B、 
   
  
<request.p>B、B、[requestScope.p]

C、C、

     ( 
    
   
     r 
    
   
     e 
    
   
     q 
    
   
     u 
    
   
     e 
    
   
     s 
    
   
     t 
    
   
     . 
    
   
     p 
    
   
     ) 
    
   
     D 
    
   
     、 
    
   
     D 
    
   
     、 
    
   
  
    (request.p) D、D、 
   
  
(request.p)D、D、{requestScope.p}

参考答案 :
D
答案说明 :

11、
关于EL中的运算符,下列说法错误的是( )

A、A、"-“运算符即可以作为减号,也可以作为负号
B、B、empty运算符不是一个前缀运算符
C、C、运算符(?:)类似于Java中的if-else语句
D、D、”/"或"div"运算符在进行除法运算时,商为小数
参考答案 :
B
答案说明 :
在EL中,判断对象是否为空,可以通过empty运算符实现,该运算符是一个前缀(prefix)运算符, 即empty运算符位于操作数前方,用来确定一个对象或变量是否为null或空。
12、
下列选项中,EL的标识符写法正确的是()

A、A、123user"name
B、B、or
C、C、pageContext
D、D、username
参考答案 :
D
答案说明 :
EL的标识符不能以数字开头。不能是EL中的关键字,如and、or、gt等。不能是EL隐式对象,如pageContext。不能包含单引号(')、双引号(")、减号(-)和正斜线(/)等特殊字符。
13、
下列选项中,使用coolie获取对象的用法错误的是( )。

A、A、 ${cookie.userName}
B、B、 ${cookie.userName.name}
C、C、 ${cookie.userName.value}
D、D、

      c 
     
    
      o 
     
    
      o 
     
    
      k 
     
    
      i 
     
    
      e 
     
    
      . 
     
    
      u 
     
    
      s 
     
    
      e 
     
    
      r 
     
    
      N 
     
    
      a 
     
    
      m 
     
    
      e 
     
    
      . 
     
    
      t 
     
    
      e 
     
    
      x 
     
    
      t 
     
    
   
     ∗ 
    
   
     ∗ 
    
   
     < 
    
   
     f 
    
   
     o 
    
   
     n 
    
   
     t 
    
   
     c 
    
   
     o 
    
   
     l 
    
   
     o 
    
   
     r 
    
   
     = 
    
   
     g 
    
   
     r 
    
   
     e 
    
   
     e 
    
   
     n 
    
   
     > 
    
   
     参考答案 
    
   
     : 
    
   
     < 
    
   
     / 
    
   
     f 
    
   
     o 
    
   
     n 
    
   
     t 
    
   
     > 
    
   
     ∗ 
    
   
     ∗ 
    
   
     D 
    
   
     ∗ 
    
   
     ∗ 
    
   
     < 
    
   
     f 
    
   
     o 
    
   
     n 
    
   
     t 
    
   
     c 
    
   
     o 
    
   
     l 
    
   
     o 
    
   
     r 
    
   
     = 
    
   
     r 
    
   
     e 
    
   
     d 
    
   
     > 
    
   
     答案说明 
    
   
     : 
    
   
     < 
    
   
     / 
    
   
     f 
    
   
     o 
    
   
     n 
    
   
     t 
    
   
     > 
    
   
     ∗ 
    
   
     ∗ 
    
   
     c 
    
   
     o 
    
   
     o 
    
   
     k 
    
   
     i 
    
   
     e 
    
   
     对象用法示例如下:获取 
    
   
     c 
    
   
     o 
    
   
     o 
    
   
     k 
    
   
     i 
    
   
     e 
    
   
     对象的信息: 
    
   
  
    {cookie.userName.text} **<font color=green>参考答案 :</font>** D **<font color=red>答案说明 :</font>** cookie对象用法示例如下: 获取cookie对象的信息: 
   
  
cookie.userName.text∗∗<fontcolor=green>参考答案:</font>∗∗D∗∗<fontcolor=red>答案说明:</font>∗∗cookie对象用法示例如下:获取cookie对象的信息:{cookie.userName} 获取cookie对象的名称: 
 
  
   
    
    
      c 
     
    
      o 
     
    
      o 
     
    
      k 
     
    
      i 
     
    
      e 
     
    
      . 
     
    
      u 
     
    
      s 
     
    
      e 
     
    
      r 
     
    
      N 
     
    
      a 
     
    
      m 
     
    
      e 
     
    
      . 
     
    
      n 
     
    
      a 
     
    
      m 
     
    
      e 
     
    
   
     获取 
    
   
     c 
    
   
     o 
    
   
     o 
    
   
     k 
    
   
     i 
    
   
     e 
    
   
     对象的值: 
    
   
  
    {cookie.userName.name} 获取cookie对象的值: 
   
  
cookie.userName.name获取cookie对象的值:{cookie.userName.value}

14、
在c_if.jsp有如下部分代码: <c:if test=“true” > true </c:if> <c:else test=“false” > false </c:else> 对于上述代码片段说法正确的是()

A、A、该页面代码部署启动时,控制台会报错
B、B、在该页面会出现编译错误,并有红叉提示
C、C、访问该页面会出现结果:true false
D、D、访问该页面时,浏览器没有任何信息显示
参考答案 :
C
答案说明 :
没有<c:else>标签,标签中的内容都显示在页面
15、
关于JSTL标签库,下列说法错误的是( )

A、A、JSTL简化了JSP和Web应用程序的开发
B、B、JSTL以一种统一的方式减少了JSP中的脚本代码数量
C、C、JSTL为条件判断、迭代、国际化、数据库访问等提供支持
D、D、JSTL是JSP2.0的重要特性,编写JSP页面时不需要引入标签库
参考答案 :
D
答案说明 :
从JSP 1.1规范开始,JSP就支持使用自定义标签,Sun公司制定了一套标准标签库(JavaServer Pages Standard Tag Library),简称JSTL。使用这些标签库之前,必须在JSP页面的顶部使用<%@ taglib%>指令定义引用的标签库和访问前缀。
16、
阅读下面代码片段: <c:set var=“sum” value=“0”/> <c:forEach var=“i” begin=“2” end=“10” step=“2”> <c:set var=“sum” value="

      s 
     
    
      u 
     
    
      m 
     
    
      + 
     
    
      i 
     
    
   
     " 
    
   
     / 
    
   
     > 
    
   
     < 
    
   
     / 
    
   
     c 
    
   
     : 
    
   
     f 
    
   
     o 
    
   
     r 
    
   
     E 
    
   
     a 
    
   
     c 
    
   
     h 
    
   
     > 
    
   
     s 
    
   
     u 
    
   
     m 
    
   
     = 
    
   
  
    {sum+i}"/> </c:forEach> sum= 
   
  
sum+i"/></c:forEach>sum={sum} 对于上述代码片段说法正确的是( )

A、A、输出1到10的和值
B、B、输出1到10之间的奇数和值
C、C、输出1到10之间的偶数和值
D、D、输出0
参考答案 :
C
答案说明 :
<c:set>标签用于设置变量值和对象属性, <c:forEach >的var属性用于将当前迭代到的元素保存到page域中的名称,items属性用于指定将要迭代的集合对象,begin属性用于指定从集合中第几个元素开始进行迭代,begin的索引值从0开始,如果没有指定items属性,就从begin指定的值开始迭代,直到迭代结束为止。step属性用于指定迭代的步长,即迭代因子的增量。

多选题

17、
下列选项中,属于EL中的常量的是( )

A、A、true
B、B、100
C、C、1.2E4
D、D、null
参考答案 :
A,B,C,D
答案说明 :
EL中的常量有:布尔常量true和false、整型常量(与Java中的十进制的整型常量相同)、浮点数常量(浮点数常量用整数部分加小数部分表示,也可以用指数形式表示)、字符串常量、Null常量(用null表示)
18、
下列选项中,pageContext可以获取到的隐式对象有( )。

A、A、 applicationScope
B、B、 pageScope
C、C、 cookie
D、D、 header
参考答案 :
A,B,C,D
答案说明 :
pageContext可以获取其他10个隐式对象,包括pageScope、requestScope、sessionScope、applicationScope、param、paramValues、header、headerValues、cookie、initParam。
19、
下列选项属于EL中的关键字的是()

A、A、eq
B、B、empty
C、C、div
D、D、instanceof
参考答案 :
A,B,C,D
答案说明 :
EL中所有的关键字: and eq gt true instanceof or ne le false empty not lt ge null div mod
20、
下面关于${customer.name}表达式的作用,说法正确的是()

A、A、获取customer对象
B、B、获取customer对象的name属性
C、C、获取的customer对象一定在四大域中存在getCustomer()方法
D、D、获取name属性,是因为customer对象中存在相应的getName()方法
参考答案 :
B,D
答案说明 :
获取customer对象的name属性 获取name属性,是因为customer对象中存在相应的getName()方法
21、
下面关于点运算符(.)和方括号运算符([ ])的表达中,正确的是()

A、A、

      u 
     
    
      s 
     
    
      e 
     
    
      r 
     
    
      [ 
     
    
      " 
     
    
      M 
     
    
      y 
     
    
      − 
     
    
      N 
     
    
      a 
     
    
      m 
     
    
      e 
     
    
      " 
     
    
      ] 
     
    
   
     B 
    
   
     、 
    
   
     B 
    
   
     、 
    
   
  
    {user["My-Name"]} B、B、 
   
  
user["My−Name"]B、B、{users[0].userName}

C、C、

      u 
     
    
      s 
     
    
      e 
     
    
      r 
     
    
      [ 
     
    
      " 
     
    
      M 
     
    
      y 
     
    
      − 
     
    
      N 
     
    
      a 
     
    
      m 
     
    
      e 
     
    
      " 
     
    
      ] 
     
    
   
     D 
    
   
     、 
    
   
     D 
    
   
     、 
    
   
  
    {user["My-Name"]} D、D、 
   
  
user["My−Name"]D、D、{customer.name}

参考答案 :
A,B,D
答案说明 :
EL中的方括号运算符与点运算符的功能相同,都用于访问JSP页面中某些对象的属性,当获取的属性名中包含一些特殊符号,如"-“或”?"等非字母或数字的符号,就只能使用方括号运算符访问该属性。
22、
下面隐式对象中,用于获取客户端传递的请求参数的是()

A、A、 param
B、B、 paramValues
C、C、 initParam
D、D、 headerValues
参考答案 :
A,B
答案说明 :
在JSP页面中,经常需要获取客户端传递的请求参数,为此,EL提供了param和paramValues两个隐式对象,这两个隐式对象专门用于获取客户端访问JSP页面时传递的请求参数。
23、
下列选项中,用于访问作用域范围的隐式对象的是( )。

A、A、pageScope
B、B、requestScope
C、C、sessionScope
D、D、applicationScope
参考答案 :
A,B,C,D
答案说明 :
在EL中提供了4 个用于访问作用域范围的隐式对象,即pageScope、requestScope、 sessionScope和applicationScope。

判断题

24、
pageScope、requestScope、 sessionScope和applicationScope4个隐式对象都可以通过setAttribute()方法存储属性,通过getAttribute()方法获取属性



参考答案 :

答案说明 :

25、
EL表达式都是以"

      " 
     
    
      符号开始,以 
     
    
      " 
     
    
   
     " 
    
   
     符号结束的,具体格式是 
    
   
  
    {"符号开始,以"}"符号结束的,具体格式是 
   
  
"符号开始,以""符号结束的,具体格式是{表达式}。



参考答案 :

答案说明 :

26、
initParam是用于获取Web应用初始化信息的隐式对象。



参考答案 :

答案说明 :

27、
<c:out>标签用于把表达式计算的结果输出到JSP页面。



参考答案 :

答案说明 :

28、
EL表达式中的隐式对象与JSP中的隐式对象除了pageContext对象是它们共有的,其它隐式对象则毫不相关。



参考答案 :

答案说明 :

29、
EL表达式的initParam隐式对象可获取web.xml文件中配置的Servlet信息。



参考答案 :

答案说明 :
initParam对象用于获取Web应用初始化参数的值
30、
EL表达式中条件运算符用于执行某种条件判断,它类似于Java语言中的if-else语句。



参考答案 :

答案说明 :

31、
EL表达式提供的两种用于访问数据的操作符是.和[],两个作用完全一样。



参考答案 :

答案说明 :
当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号时,就一定要使用[]。 如果要动态取值,就可以用[]来做,而.无法做到动态取值。
32、
taglib指令的uri属性用于指定引入标签库描述符文件的URI。



参考答案 :

答案说明 :

33、
JSTL标签库中的Core标签库的URI为http://java.sun.com/jsp/core。



参考答案 :

答案说明 :
核心标签库的taglib指令URI为http://java.sun.com/jsp/jstl/core

填空题

34、
EL的
applicationScope
隐式对象,代表application域中用于保存属性的Map对象。

参考答案 :
【applicationScope】
答案说明 :

35、
cookie
是用于获取Cookie信息的隐式对象。

参考答案 :
【cookie】
答案说明 :

36、
<c:forEach>标签可以迭代集合对象中的元素,包含Set、List、Map和
数组
等。

参考答案 :
【数组】
答案说明 :
Core标签库提供了一个<c:forEach>标签,该标签专门用于迭代集合对象中的元素,如Set、List、Map、数组等
37、
EL的
requestScope
隐式对象,代表request域中用于保存属性的Map对象。

参考答案 :
【requestScope】
答案说明 :

38、
EL的
param
对象用于获取请求参数的某个值。

参考答案 :
【param】
答案说明 :

39、
JSTL标签库是由核心标签库、国际化/格式化标签库、XML标签库、函数标签库和
SQL标签库
共同组成。

参考答案 :
【SQL标签库】
答案说明 :
JSTL标签库是由5个不同功能的标签库共同组成,这5个标签库分别是核心标签库、国际化/格式标签库、SQL标签库、XML标签库和函数标签库
40、
如果要在JSP页面中导入Core标签库,需要使用
taglib
指令。

参考答案 :
【taglib】
答案说明 :
在使用JTL之前,必须在JSP页面的顶部使用<%@ taglib uri=“” prefix=“”%>指令定义引用的标签库和访问前缀。
41、
EL中的标识符不能以数字开头、不能包含特殊字符、不能是EL中的关键字和
隐式对象

参考答案 :
【EL隐式对象】
答案说明 :
EL的标识符不能以数字开头。不能是EL中的关键字,如and、or、gt等。不能是EL隐式对象,如pageContext。不能包含单引号(')、双引号(")、减号(-)和正斜线(/)等特殊字符。
42、
<c:set>标签用于给程序中的某个对象设置值,有效范围没有指定默认是
page

参考答案 :
【page】
答案说明 :

43、
字符串常量是用单引号或
双引号
引起来的一连串字符。

参考答案 :
【双引号】
答案说明 :

标签: servlet java 前端

本文转载自: https://blog.csdn.net/weixin_48053866/article/details/126323750
版权归原作者 编程的一拳超人 所有, 如有侵权,请联系我们删除。

“EL 和 JSTL练习题”的评论:

还没有评论