jsp学习笔记---EL

EL作用

使用EL表达式替换掉jsp表达式

EL表达式作用: 向浏览器输出域对象中的变量值或表达式计算的结果!!!

语法: ${变量或表达式}

EL语法

输出基本数据类型变量

从四个域获取
    ${name}等价于<%=pageContext.findAttribute("name")%>
指定域获取
    ${pageScope.name}等价于<%= pageContext.getAttribute("name",PageContext.PAGE_SCOPE)%>

域范围: pageScope / requestScope / sessionScope / applicationScope

<body>
    <%//11111111111111111111
    Student student=new Student("kaihua",20);
    //将对象放入域中
    pageContext.setAttribute("student", student,PageContext.SESSION_SCOPE);
    %>
    获取域中的对象的变量:${sessionScope.student.name }<br/>
      <%-- ${student.name} 等价于     (点相对于调用getName()方法) --%>

    <%//22222222222222222222222
        List<Student> list=new ArrayList<Student>();
        list.add(new Student("siyu",20));
        list.add(new Student("yucai",22));
        list.add(new Student("yidan",23));
        list.add(new Student("lijuan",25));

        //将List放入域对象中
        pageContext.setAttribute("list", list,PageContext.REQUEST_SCOPE);
    %>

       <%--使用EL获取List对象 --%>
       ${requestScope.list[0].name } - ${requestScope.list[0].age }<br/>
       ${list[1].name } - ${list[1].age }<br/>
       ${list[2].name } - ${list[2].age }<br/>

       <%//33333333333333333
        //Map
        Map<String,Student> map = new HashMap<String,Student>();
        map.put("100",new Student("mark",20));
        map.put("101",new Student("maxwell",30));
        map.put("102",new Student("narci",40));
        //放入域中
        pageContext.setAttribute("map",map);        
       %>
              <%--使用EL获取Map对象 --%>
        ${map['100'].name } -  ${map['100'].age }<br/>
        ${map['101'].name } -  ${map['101'].age }<br/>
        ${map['102'].name } -  ${map['102'].age }<br/>
</body>

动作标签

转发标签:   <jsp:forward />
参数标签:  <jsp:pararm/>
包含标签:  <jsp:include/>
//  参数
    <jsp:forward page="/07_action2.jsp">
        <jsp:param value="xiaohua" name="name"/>
        <jsp:param value="JSADSAGF" name="QQ"/>
    </jsp:forward>

    //包含
     <jsp:include page="/07_action2.jsp">
            <jsp:param value="xiaohua" name="name"/>
    </jsp:include>
    <%@include file="/07_action2.jsp" %>

jsp:include/>原理: 包含与被包含的页面先各自翻译成java源文件,然后再运行时合并在一起。
(先翻译再合并),动态包含

                静态包含  vs  动态包含的区别?

            1) 语法不同
            静态包含语法: <%@inclue file="被包含的页面"%>
            动态包含语法: <jsp:include page="被包含的页面">

            2)参数传递不同
            静态包含不能向被包含页面传递参数
            动态包含可以向被包含页面传递参数

            3)原理不同
            静态包含: 先合并再翻译
            动态包含: 先翻译再合并
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本篇笔记主要介绍JSP中的EL表达式和JSTL标签库。 一、EL表达式(Expression Language) EL表达式是JSP中一个非常重要的特性,它可以在JSP页面中方便地访问JavaBean中的属性和方法,同时还可以进行一些简单的运算操作。EL表达式的语法非常简单,使用${}表示。例如,我们可以通过${user.name}访问一个名为user的JavaBean中的name属性。 EL表达式支持许多运算符,如算数运算符(+、-、*、/、%)、比较运算符(>、<、>=、<=、==、!=)、逻辑运算符(&&、||、!)等等,还支持一些特殊的运算符,如“empty”用于判断一个对象是否为空,如${empty user}表示判断user对象是否为空。 二、JSTL标签库(JSP Standard Tag Library) JSTL是JSP标准标签库,提供了一组标签和函数,可以方便地实现一些常见的任务,如迭代、条件判断、格式化等等。JSTL标签库包含五个核心标签库: 1.核心标签库(Core Tag Library):提供了一些基本的标签,如if、forEach等等。 2.格式化标签库(Formatting Tag Library):提供了一些标签,用于格式化日期、数字等等。 3.SQL标签库(SQL Tag Library):提供了一些标签,用于执行SQL查询和更新操作。 4.XML标签库(XML Tag Library):提供了一些标签,用于处理XML文档。 5.函数标签库(Functions Tag Library):提供了一些函数,可以用于字符串处理、日期处理等等。 使用JSTL标签库需要在JSP页面中引入相应的标签库,例如: ``` <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> ``` 其中,prefix表示标签库的前缀,uri表示标签库的统一资源标识符(URI)。 使用JSTL标签库的语法和EL表达式类似,也是使用${}来引用JavaBean中的属性和方法,同时可以使用JSTL标签来实现一些复杂的逻辑。例如,可以使用<c:if>标签来实现条件判断,如: ``` <c:if test="${user.age > 18}"> <p>成年人</p> </c:if> ``` 以上就是本篇笔记的全部内容,EL表达式和JSTL标签库是JSP中非常重要的特性,掌握它们可以让我们更加方便地开发JSP应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值