El总结

妖精的绣舞 提交于 2020-01-29 06:02:28

EL表达式
1.概念:Expression Language 表达式语言
2.作用:替换和简化jsp页面中java代码的编写
3.语法:${表达式}
4.注意:
jsp默认支持el表达式的,如果要忽略el表达式
1.设置jsp中page指令中:isELIgnored=“true” 忽略当前jsp页面中所有的el的表达式
2.${表达式}:忽略当前这个el表达式

5.使用:
1.运算:
运算符:
1.算数运算符:±*/%
2.比较运算符:>< >= <= == !=
3.逻辑运算符:&& || !
4.空运算符:empty
功能:用于判断字符串,集合,数组对象是否为null并且长度是否为0
${empty list}
${not empty list}判断是否不为null,并且长度大于0

2.获取值
1.el表达式只能从域对象中获取值
2.语法:
1..1.pageScope2.requestScope3.sessionScope4.applicationScoperequestname={域名称.键名}:从指定域中获取指定的值 域名称: 1.pageScope 2.requestScope 3.sessionScope 4.applicationScope 举例:在request域中储存了name=张三 获取:{requestScope.name}
2.${键名}:表示依次从最小的域中查找是否有该键对应的值,直到找到为止。

3.获取对象:list集合,Map集合的值
1.对象:${域名称.键名。属性名}
本质上会去调用对象的getter方法
2.List集合:
${域名称。键名[索引]}
3.Map集合:
${域名称。键名。key名称}
${域名称。键名[key名称]}

4.隐式对象:
el表达式有11个隐式对象
pageContext:
1.获取其他八个内置对象
${pageContext.request.contextpath}:动态获取虚拟目录

package itcast.domain;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.SimpleFormatter;

创建USer
public class User {
    private String name;
    private  int age;
    private Date birthday;
//逻辑视图
    public String getBirStr(){
        if(birthday!=null){
            //格式化日期
            SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            //返回字符串即可
            return sdf.format(birthday);
        }else{
            return "";
        }
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public Date getBirthday() {
        return birthday;
    }
    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }
}

创建EL的JSP

<%@ page import="itcast.domain.User" %>
<%@ page import="java.util.*" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>获取对象数据</title>
</head>
<body>
        <%
            User user=new User();
            user.setName("张三");
            user.setAge(20);
            user.setBirthday(new Date());
            request.setAttribute("u",user);

            List list=new ArrayList();
            list.add("aaa");
            list.add("bbb");
            list.add(user);
            request.setAttribute("list",list);

            Map map=new HashMap();
            map.put("sname","李四");
            map.put("gender","男");
            map.put("user",user);
            request.setAttribute("map",map);
        %>

        <h3>获取对象中的值</h3>
        ${requestScope.u}
    <%--
    通过的式对象的属性来获取
        setter或getter方法,去掉set或get,再将剩余部分,首字母变为小写
        setter--->Name-->name
    --%>
        <br>
        ${requestScope.u.name}<br>
        ${requestScope.u.age}<br>
        ${requestScope.u.birthday}<br>
        ${u.birthday.year}
        ${u.birthday.month}<br>
        ${u.birthday}<br>
        ${u.birStr}<br>

        <h3>获取list值</h3>
        ${list}<br>
        ${list[0]}<br>
        ${list[1]}<br>
        ${list[10]}<br>
        ${list[2].name}<br>

        <h3>获取Map值</h3>
        ${map.gender}<br>
        ${map.user.name}
        ${map.user.age}
</body>
</html>

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!