JAVA EL技术&JSTL技术

EL(Express Lanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL 出现的目的是要替代jsp页面中脚本的编写。

jsp脚本:<%=request.getAttribute(name)%>

EL表达式替代上面的脚本:${requestScope.name}

EL最主要的作用是获得四大域中的数据,格式${EL表达式}

EL获得pageContext域中的值:${pageScope.key};

EL获得request域中的值:${requestScope.key};

EL获得session域中的值:${sessionScope.key};

EL获得application域中的值:${applicationScope.key};

EL从四个域中获得某个值${key};

---同样是依次从pageContext域,request域,session域,application域中 获取属性,在某个域中获取后将不在向后寻找

<!-- 模拟域中的数据 -->
<%
    pageContext.setAttribute("name", "pageContxt");
    //存储字符串
    request.setAttribute("name", "request");
    //存储一个对象
    Users user=new Users();
    user.setId(1);
    user.setUsername("lisi");
    user.setPwd("123");
    session.setAttribute("user", user);
    //存储一个集合
    List<Users> list=new ArrayList<Users>();
    Users user1=new Users();
    user1.setId(1);
    user1.setUsername("wangwu");
    user1.setPwd("123");
    list.add(user1);
    Users user2=new Users();
    user2.setId(1);
    user2.setUsername("zhaoliu");
    user2.setPwd("123");
    list.add(user2);
    application.setAttribute("List", list);
%>
<hr>
<!-- 使用脚本取出域中的值 -->
<%=request.getAttribute("name") %>
<%Users u=(Users)session.getAttribute("user");
    out.write(u.getUsername());
%>
<hr>
<!-- 使用EL表达式取出域中的值 -->
${requestScope.name}
${sessionScope.user.username}
${applicationScope.List[0].pwd}
<hr>
<!-- 使用el表达式 全域查找(会从最小的找,底层就是findAttribute()) -->
${name }
${user.username}
${List[0].pwd}

EL的执行表达式

${1+1}

${empty user} 判断域中的对象是否为空。

${user==null?true:false}

JSTL(JSP Standard Tag Library),JSP标准标签库,可以嵌入在jsp页面中使用标签的形式完成业务逻辑等功能。jstl出现的目的同el一样也是要代替jsp页面中的脚本代码。JSTL标准标准标签库有5个子库,但随着发展,目前常使用的是他的核心库。


Core


http://java.sun.com/jsp/jstl/core


c

JSTL下载:

从Apache的网站下载JSTL的JAR包。进入          “http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/”网址下载    JSTL的安装包。

1.JSTL核心库的常用标签

1)<c:if test=””>标签

其中test是返回boolean的条件

<%request.setAttribute("count", 10); %>
<!--jstl标签经常会和el配合使用  -->
<!-- test代表的返回boolean的表达式 -->
<c:if test="${count==10 }">
    xxxx
</c:if>
<!-- 用户没有登陆 -->
<c:if test="${empty user }">
    <a href="login.jsp">登陆</a>
    <a href="register.jsp">注册</a>
</c:if>
<!-- 用户已经登陆 -->
<c:if test="${!empty user }">
    <span>${user.name }</span>
    <a href="#">退出</a>
</c:if>
<%
    //模拟用户已经登录成功
    User user=new User();
    user.setId(100);
    user.setName("张三");
    user.setPwd("123");
    session.setAttribute("user", user);
%>

2)<c:forEach>标签

使用方式有两种组合形式

<!-- 模拟增强for  productList---List<Product>
    for(Product product:productList){
        System.out.print(product.getName());
    }
-->
<!-- items:一个集合或数组(从域中选)   var:代表集合中的某一个元素 -->
<c:forEach items="${productList }" var="pro">
    ${pro.name }
</c:forEach>

原文地址:https://www.cnblogs.com/time-to-despair/p/9860630.html

时间: 2024-11-06 03:53:51

JAVA EL技术&JSTL技术的相关文章

EL技术&amp;JSTL技术

EL技术 EL 表达式概述 EL(Express Lanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL出现的目的是要替代jsp页面中脚本(java代码)的编写. EL从域中取出数据(EL最重要的作用) jsp脚本:<%=request.getAttribute(name)%> EL表达式替代上面的脚本:${requestScope.name} EL最主要的作用是获得四大域中的数据,格式${EL表达式} EL获得pageContext域中的值:${pageScope.key

2017.11.16 JavaWeb-------第八章 EL、JSTL、Ajax技术

第八章 EL.JSTL.Ajax技术 ~~ EL (expression language) 是表达式语言 ~~ JSTL(JSP Standard Tag Library) 是开源的JSP标准标签库 ~~ Ajax(Asynchronous JavaScript and XML )是运用JavaScript 和可扩展语言(xml) 1.表达式语言EL 输出动态信息有以下三种: JSP内置对象out :<%out.print("要输出的信息");%> JSP表达式:<

JavaWeb——EL技术,JSTL技术,JavaEE开发模式

EL技术 EL(Express Lanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL出现的目的是要替代jsp页面中脚本的编写. EL最主要的作用就是从域中取出数据,格式${EL表达式} EL获得pageContext域中的值:${pageScope.key}; EL获得request域中的值:${requestScope.key}; EL获得session域中的值:${sessionScope.key}; EL获得application域中的值:${applicationS

EL技术和JSTL技术

2018-05-12 23:16:35 EL技术 EL表达式 EL(Express Lanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL 出现的目的是要替代jsp页面中脚本的编写. EL从域中取出数据 jsp:<%=request.getAttribute(name)%>相当于 EL:${requestScope.name} EL可以从四个域中获取数据: EL获得pageContext域中的值:${pageScope.key}; EL获得request域中的值:${req

动态页面技术----EL技术、JSTL技术,javaEE的开发模式

1 EL技术 1.1 EL 表达式 EL(Express Lanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写, EL出现的目的是要替代jsp页面中脚本的编写,就是简化java代码. 1.2 EL最重要的作用:从域中取出数据 jsp脚本:<%=request.getAttribute(name)%> EL表达式替代上面的脚本:${requestScope.name} 1.2.1获得四大域中的数据 格式 ${EL表达式} EL获得pageContext域中的值:${pageSco

第75节:Java的中的JSP,EL和JSTL

第75节:Java中的JSP,EL和JSTL 哭吧看不完的!!! Cookie和`Session 请求转发和重定向的区别: 地址不一样 请求次数也不一样 数据无法传递 4.跳转范围有限制 效率 请求转发请求1次,只能对当前项目跳转,重定向请求2次.重定向是无法传递的,重定向对跳转范围没有限制. Cookie是服务器发送给客户端,存储在客户端的小数据.发送cookie: Cookie cookie = new Cookie("key", value"); response.ad

(1-1)Java领域的相关技术

JAVA主要分为3类:JavaEE.JavaSE和JavaME.其中,JavaEE是网络编程,主要应用在与网络软件.如各类网站.ERP软件等等:JavaSE是企业级开发,如QQ.各种音乐视频播放器等:而JavaME是手机开发,如各类手机游戏.手机软件等! (1-1)Java领域的相关技术,布布扣,bubuko.com

Java远程通讯可选技术及原理

Java远程通讯可选技术及原理——转 在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术, 例如:RMI.MINA.ESB.Burlap.Hessian.SOAP.EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢, 了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那深入了解这些技术背后的机制就是必须的了, 在这篇blog中我们将来一探究竟,抛砖引玉,欢迎大家提供更多的实现远程通讯的技术

代理模式 &amp; Java原生动态代理技术 &amp; CGLib动态代理技术

第一部分.代理模式  代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息.过滤消息.把消息转发给委托类,以及事后处理消息等.代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务.(其实就是在代理类中关联一个委托类的实例,然后在代理类中进行包装). UML图如下: 第二部分.在Java中实现代理模式  按照代理的创建时期,代理类可以分