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
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值