JSTL,EL面试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
###1. 为什么要用自定义标签?
①Jsp中写代码比较混乱,难以维护
②把一些重复的功能都抽取出来,方便复用。
###2. 自定义标签分为几个步骤.
1.编写标签处理器类(SimpleTagSupport的实现类)
重写doTag()
2.编写标签库文件(WEB-INF/xxx.tld)
整个文件的定义:
标签的定义:
3.在jsp页面使用标签:
导入标签库(xxx.tld/)
使用标签
###3. 自定义标签类要继承哪个类?
SimpleTagSupport类
sim·ple tag sə'pɔrt
###4. 怎么配置自定义标签的属性
在.tld文件
通过
###5. 为什么要用EL表达式,有什么好处
1.在页面中用js脚本和jsp表达式来获取数据显示比较麻烦
a:需要条件判断
b:可能需要强转
2.好处是EL表达式简单易用,默认可访问所有的JSP隐藏对象。
###6. EL表达式的语法是什么?
美元符号加大括号---> ${ EL表达式}
###7. EL有哪两种访问格式,有什么区别?
EL 提供“.“和“[ ]“两种运算符来存取数据。
当要存取的属性名称中包含一些特殊字符,如. 或- 等并非字母或数字的符号,就一定要使用“[ ]“。例如:
${ user. My-Name}应当改为${user["My-Name"]}
如果要动态取值时,就可以用“[ ]“来做,而“.“无法做到动态取值。例如:
${er[data]}中data 是一个变量。
###8. EL表达式中有哪些隐藏对象,举几个例子?
pageContext : JSP页面的上下文
param : 参数
paramValues : 参数值
header : 头信息
headerValues : 头的值
cookie : 缓存
initParam : 初始化参数
###9. EL表达式中怎么样拿到request,session里面的值?
例:
可以通过它的隐藏对象RequestScope来获取到Request范围的属性名称所对应的值。
可以通过它的隐藏对象sessionScope来获取到session范围的属性名称所对应的值。###10. EL表达式怎么样拿到用户请求的参数?
可以用${} 来获取用户请求的参数
###11. EL表达式怎么样得到上下文路径?
${pageContext.request.contextPath}
###12. EL表达式怎么样拿到request?
RequestScope
###13. JSTL全称是什么?
java服务器页面标准标签库
(JavaServer Pages Standard Tag Library)
###14. JSTL是怎么使用的?
将jstl.jar、standard.jar 复制到Tomcat 的WEB-INF\lib 中.
若要在JSP 网页中使用JSTL 时,一定要先做下面这行声明:
< %@ taglib prefix="c" uri="/jsp/jstl/core" %>
主要提供给Java Web 开发人员一个标准通用的标签函数库。Web 程序开发人员能够利用JSTL 和EL 来开发Web 程序,
取代传统直接在页面上嵌入Java 程序(Scripting)的做法,以提高程序可读性、维护性和方便性。
###15. JSTL分为几个标签库?
①核心标签库
②国际化标签库
③数据库标签库
④XML标签库
⑤函数标签库
###16. JSTL里面判断标签是什么?
1.
2.
###17. JSTL里面的属性是否可以从EL表达式获取?
可以${xxxScope.attribute}
###18. JSTL里面的循环标签有几种,各是怎么用的?
1.
2.
###19.怎么样得到循环标签里面的状态值,譬如index,count等?
在forEach循环标签中加入varStatus="s",然后直接用EL表达式:
------
index:${s.index}
count:${s.count}
first:${s.first}
last:${st}
${item}