jsp、el、jstl——前端面试

来源:互联网 发布:淘宝网男装新款 编辑:程序博客网 时间:2024/05/01 09:05

以前学的太乱没有头绪,今天来缕一缕。


jsp   用于展示数据  可以操作所有的数据        <% %>    

el    操作作用域中的属性  不能操作局部变量    ${ }    

jstl  用于使用标签代替简化 jsp中的<%  %>    含有 if 循环  判断语句等等


1、jsp

jsp就是 java servlet page,和servlet一样,是sun公司定义的一种用于开发动态网页的技术。允许在页面中嵌入java代码,为用户提供动态数据。

jsp实际上就是servlet,它由容器翻译成servlet源文件,再编译,用户看到的是servlet的响应结果。

jsp的九大内置对象内置对象内容作用范围request请求requestresponse对请求的响应pageout用于向客户端发送文本数据pagesession为请求的客户创建session对象sessionapplication从servlet配置对象获得servlet上下文applicationpageContext包含了本页面的所有信息pageconfig本jsp的ServletConfigpagepage实现处理本页当前请求的类的实例pageexception表示运行时产生的异常page


上面表格第三列的作用范围,即内置对象的作用域,顾名思义就是“在多大范围内有效”。四个作用域分别为:page---request---session---application:

page——在当前页面有效

request——在当前请求中有效

session——在当前会话中有效

application——在所有应用程序中有效

———————————————————————————————————————————————————————————

2、EL表达式

简介:EL 全名为Expression Language。EL表达式一般操作的是作用域(application,session,request,pageContext)中的属性,EL变量指某一个作用域中的属性。
注:el表达式操作不了局部变量

用法:

使用EL表达式获取数据语法:“${标识符}”

EL表达式语句在执行时,会调用pageContext.findAttribute方法,用标识符为关键字,分别从page、request、session、application四个域中查找相应的对象,找到则返回相应对象,找不到则返回”” (注意,不是null,而是空字符串)。 
示例:${user}

EL表达式也可以很轻松获取JavaBean的属性,或获取数组、Collection、Map类型集合的数据,例如:
${user.address.city}
${user.list[0]}:访问有序集合某个位置的元素
${map.key}  : 获得map集合中指定key的值

获得web开发常用对象  
1、pageContext:代表pageContext对象      例如:${pageScope.name1}
2、pageScope:代表page域
3、requestScope:代表request域
4、sessionScope
5、applicationScoope
6、param:Map对象,保存了所有的请求参数    
7、paramValues:Map对象(value对应一个数组).
8、header:Map对象。获取一个请求头的值    注意:如果头里面有“-” ,例Accept-Encoding,则要headerValues[“Accept-Encoding”]
9、headerValues:Map对象(value对应一个数组)
10、cookie:Map对象。(value对应一个cookie对象)
11、initParam:Map对象。(key=参数名value=参数值,此参数是在web.xml中配置的)  例如 ${initParam.encode }

———————————————————————————————————————————————————————————

3、JSTL

JSP Standard Tag Library ,JSP标准标签库,核心标签库:http://java.sun.com/jsp/jstl/core 包含 Web 应用的常见工作,比如:循环、表达式赋值、基本输入输出等。

引用 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

常用标签如下

  • <c:out>   用于在 JSP 中显示数据    例:<c:out value="${anyValue}" default="value"  escapeXml="false"/> 
  • <c:set>将值存储到作用域或为 JavaBean 中的变量属性赋值   例: <c:set var=“name“  value=“chen“  scope=“page”/>  
  • <c:remove>删除存在于 scope 中的变量    例:<c:remove var="sampleValue" scope="session"/> 
  • 条件控制标签 :<c:if>   和  <c:choose> <c:when> <c:otherwise>   用法同if()else{} 
  • 循环控制标签:<c:forEach>
  • URL 相关标签:
    <c:import>包含另一个 JSP 页面到本页面,作用类似<jsp:include>,但作用范围广,不仅可以包含本项目下资源,也可以包含外部的资源!
    <c:redirect>用于页面重定向     <c:redirect url=“fortoken.jsp“ />  
    <c:param>用于包含传递参数    <c:param name="a" value="33"></c:param> 

0 0
原创粉丝点击