首页 > 其他分享 >EL表达式

EL表达式

时间:2022-12-16 16:36:39浏览次数:39  
标签:EL 对象 获取 jsp 集合 表达式


EL表达式


    jsp的核心语法:jsp表达式<%=  %>  和jsp脚本<%    %>


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




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




语法:${域对象中的变量或表达式}


        1.输出基本数据类型变量

                1.1 从4个域对象中获取


     ${域对象中的变量 }


           

例如: 

​​ <body>​​​​ <%​​​​ String name1 = "变量中的数据";​​​​ pageContext.setAttribute("name2", "page域中的数据");​​​​ pageContext.setAttribute("name3", "request域中的数据",pageContext.REQUEST_SCOPE);​​​​ session.setAttribute("name4", "session域中的数据");​​​​ application.setAttribute("name5", "application域中的数据");​​​​ %>​​​​ <hr/>​​​​ jsp表达式:<%=pageContext.findAttribute("name1") %><br/>​​​​ jsp表达式:<%=pageContext.findAttribute("name2") %><br/>​​​​ jsp表达式:<%=pageContext.findAttribute("name3") %><br/>​​​​ jsp表达式:<%=pageContext.findAttribute("name4") %><br/>​​​​ jsp表达式:<%=pageContext.findAttribute("name5") %><br/>​​​​ <hr/> ​​​​ EL表达式替换jsp表达式:${name1}<br/> ​​​​ EL表达式替换jsp表达式:${name2}<br/> ​​​​ EL表达式替换jsp表达式:${name3}<br/> ​​​​ EL表达式替换jsp表达式:${name4}<br/> ​​​​ EL表达式替换jsp表达式:${name5}<br/> ​​​​ <hr/>​​​​ <%-- ${name3} 等价于​​​​ pageContext.findAttribute(name3);​​​​ 自动在四个域中搜索数据, 查询顺序: page域 -> request域 -> session域- > context域(application域)​​​​ --%> ​​​​ </body>​​

1.2指定域对象中获取


${域.变量}






例如:

​​ <body>​​​​ <%​​​​ String name1 = "变量中的数据";​​​​ pageContext.setAttribute("name2", "page域中的数据");​​​​ pageContext.setAttribute("name3", "request域中的数据",pageContext.REQUEST_SCOPE);​​​​ session.setAttribute("name4", "session域中的数据");​​​​ application.setAttribute("name5", "application域中的数据");​​​​ %>​​​​ <hr/>​​​​ ​​​​ EL表达式指定域获取:${pageScope.name2 }<br/>​​​​ EL表达式指定域获取:${requestScope.name3 }<br/>​​​​ EL表达式指定域获取:${sessionScope.name4 }<br/>​​​​ EL表达式指定域获取:${applicationScope.name5 }<br/>​​​​ <hr/>​​​​ ​​​​ <%-- ${requestScope.name3 } 等价于​​​​ pageContext.getAttribute(name3, pageContext.REQUEST_SCOPE)​​​​ --%> ​​​​ jsp表达式指定域获取:<%=pageContext.getAttribute("name2", pageContext.PAGE_SCOPE) %><br/>​​​​ jsp表达式指定域获取:<%=pageContext.getAttribute("name3", pageContext.REQUEST_SCOPE) %><br/>​​​​ jsp表达式指定域获取:<%=pageContext.getAttribute("name4", pageContext.SESSION_SCOPE) %><br/>​​​​ jsp表达式指定域获取:<%=pageContext.getAttribute("name5", pageContext.APPLICATION_SCOPE) %><br/>​​​​ </body>​​


整体Demo:




​​<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"​​​​ session="true"​​​​%>​​​​<%​​​​String path = request.getContextPath();​​​​String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";​​​​%>​​​​​​​​<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">​​​​<html>​​​​ <head>​​​​ <base href="<%=basePath%>">​​​​ ​​​​ <title>My JSP 'el.jsp' starting page</title>​​​​ ​​​​ <meta http-equiv="pragma" content="no-cache">​​​​ <meta http-equiv="cache-control" content="no-cache">​​​​ <meta http-equiv="expires" content="0"> ​​​​ <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">​​​​ <meta http-equiv="description" content="This is my page">​​​​ <!--​​​​ <link rel="stylesheet" type="text/css" href="styles.css">​​​​ -->​​​​​​​​ </head>​​​​ ​​​​ <body>​​​​ <%​​​​ String name1 = "变量中的数据";​​​​ pageContext.setAttribute("name2", "page域中的数据");​​​​ pageContext.setAttribute("name3", "request域中的数据",pageContext.REQUEST_SCOPE);​​​​ session.setAttribute("name4", "session域中的数据");​​​​ application.setAttribute("name5", "application域中的数据");​​​​ %>​​​​ <hr/>​​​​ jsp表达式:<%=pageContext.findAttribute("name1") %><br/>​​​​ jsp表达式:<%=pageContext.findAttribute("name2") %><br/>​​​​ jsp表达式:<%=pageContext.findAttribute("name3") %><br/>​​​​ jsp表达式:<%=pageContext.findAttribute("name4") %><br/>​​​​ jsp表达式:<%=pageContext.findAttribute("name5") %><br/>​​​​ <hr/> ​​​​ EL表达式替换jsp表达式:${name1}<br/> ​​​​ EL表达式替换jsp表达式:${name2}<br/> ​​​​ EL表达式替换jsp表达式:${name3}<br/> ​​​​ EL表达式替换jsp表达式:${name4}<br/> ​​​​ EL表达式替换jsp表达式:${name5}<br/> ​​​​ <hr/>​​​​ <%-- ${name3} 等价于​​​​ pageContext.findAttribute(name3);​​​​ --%> ​​​​ ​​​​ EL表达式指定域获取:${pageScope.name2 }<br/>​​​​ EL表达式指定域获取:${requestScope.name3 }<br/>​​​​ EL表达式指定域获取:${sessionScope.name4 }<br/>​​​​ EL表达式指定域获取:${applicationScope.name5 }<br/>​​​​ <hr/>​​​​ ​​​​ <%-- ${requestScope.name3 } 等价于​​​​ pageContext.findAttribute(name3);​​​​ --%> ​​​​ jsp表达式指定域获取:<%=pageContext.getAttribute("name2", pageContext.PAGE_SCOPE) %><br/>​​​​ jsp表达式指定域获取:<%=pageContext.getAttribute("name3", pageContext.REQUEST_SCOPE) %><br/>​​​​ jsp表达式指定域获取:<%=pageContext.getAttribute("name4", pageContext.SESSION_SCOPE) %><br/>​​​​ jsp表达式指定域获取:<%=pageContext.getAttribute("name5", pageContext.APPLICATION_SCOPE) %><br/>​​​​ </body>​​​​</html>​​


Student类:




​​package com.cn.entity;​​​​​​​​public class Student {​​​​ private int id;​​​​ private String name1;//注意这里是name1​​​​ private char sex;​​​​ private int age;​​​​ public int getId() {​​​​ return id;​​​​ }​​​​ public void setId(int id) {​​​​ this.id = id;​​​​ }​​​​ public String getName() {//注意这里是getName​​​​ return name1;​​​​ }​​​​ public void setName(String name) {​​​​ this.name1 = name;​​​​ }​​​​ public char getSex() {​​​​ return sex;​​​​ }​​​​ public void setSex(char sex) {​​​​ this.sex = sex;​​​​ }​​​​ public int getAge() {​​​​ return age;​​​​ }​​​​ public void setAge(int age) {​​​​ this.age = age;​​​​ }​​​​ public Student(int id, String name, char sex, int age) {​​​​ super();​​​​ this.id = id;​​​​ this.name1 = name;​​​​ this.sex = sex;​​​​ this.age = age;​​​​ }​​​​}​​

效果:


2.输出对象的属性值





${对象.XXXX}
.XXXX相当于 .getXXXX()方法





注意:
其中,XXXX为对象对应类中属性的get方法getXXXX()的XXXX的小写,而不是属性名。


否则会出现如下异常:










例如:

​​<%@ page ​​​​ language="java" ​​​​ import="java.util.*, com.cn.entity.Student" ​​​​ pageEncoding="UTF-8"​​​​​​​​%>​​​​<%​​​​String path = request.getContextPath();​​​​String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";​​​​%>​​​​​​​​<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">​​​​<html>​​​​ <head>​​​​ <base href="<%=basePath%>">​​​​ ​​​​ <title>My JSP 'el2.jsp' starting page</title>​​​​ ​​​​ <meta http-equiv="pragma" content="no-cache">​​​​ <meta http-equiv="cache-control" content="no-cache">​​​​ <meta http-equiv="expires" content="0"> ​​​​ <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">​​​​ <meta http-equiv="description" content="This is my page">​​​​ <!--​​​​ <link rel="stylesheet" type="text/css" href="styles.css">​​​​ -->​​​​​​​​ </head>​​​​ ​​​​ <body>​​​​ <%​​​​ //保存对象数据​​​​ Student stu = new Student(001, "木丁西", '男', 24);​​​​ //放入域对象中​​​​ pageContext.setAttribute("stu", stu);​​​​ %>​​​​ <%-- 使用el表达式获取对象--%>​​​​ 学生对象:${stu}<br/>​​​​ 编号:${stu.id}<br/><%--注意这里的.id,并不是调用属性(Student类中,属性私有的private),而是调用get方法getId()--%>​​​​ 姓名:${stu.name }<br/>​​​​ 性别:${stu.sex }<br/>​​​​ 年龄:${stu.age }<br/>​​​​ <hr/>​​​​ <h3>等价于:</h3>​​​​ 学生对象:<%=(Student)pageContext.getAttribute("stu") %><br/>​​​​ 编号:<%=((Student)pageContext.getAttribute("stu")).getId() %><br/>​​​​ 编号:<%=((Student)pageContext.getAttribute("stu", pageContext.PAGE_SCOPE)).getId() %><br/>​​​​ 编号:<%=((Student)pageContext.getAttribute("stu", pageContext.PAGE_SCOPE)).getName() %><br/>​​​​ 姓名:<%=((Student)pageContext.getAttribute("stu")).getName() %><br/>​​​​ 性别:<%=((Student)pageContext.getAttribute("stu")).getSex() %><br/>​​​​ 年龄:<%=((Student)pageContext.getAttribute("stu")).getAge() %><br/>​​​​ <%--​​​​ ${stu.id} 等价于​​​​ <%=((Student)pageContext.getAttribute("stu", pageContext.PAGE_SCOPE)).getId() %>​​​​ --%>​​​​ </body>​​​​</html>​​



效果如下:




3.输出集合对象



${List集合对象名}



获取List集合中的第index个对象:
${List集合对象名[索引值] } 注意:这里的中括号[索引值]等价于调用list.get(索引值)方法​


(假如List集合中存储的值为对象)获取List集合中的第index个对象中的属性值:${List集合对象名[index].xxx} 注意:注意这里的.XXX
,并不是
调用第index个对象中的属性名
,而是调用该对象的get方法getXxx()中Xxx的小写xxx




获取Map集合中对应key值的value值:
${Map集合对象名[key] }

注意:[key]相当于调用了get(key)方法


(假如Map集合中存储的值为对象)
获取Map集合中key值对应的的对象中的属性值:${Map集合对象名[key].xxx}



Demo如下:

​​<%@ page ​​​​ language="java" ​​​​ import="java.util.*, com.cn.entity.Student" ​​​​ pageEncoding="UTF-8"%>​​​​<%​​​​String path = request.getContextPath();​​​​String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";​​​​%>​​​​​​​​<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">​​​​<html>​​​​ <head>​​​​ <base href="<%=basePath%>">​​​​ ​​​​ <title>My JSP 'el3.jsp' starting page</title>​​​​ ​​​​ <meta http-equiv="pragma" content="no-cache">​​​​ <meta http-equiv="cache-control" content="no-cache">​​​​ <meta http-equiv="expires" content="0"> ​​​​ <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">​​​​ <meta http-equiv="description" content="This is my page">​​​​ <!--​​​​ <link rel="stylesheet" type="text/css" href="styles.css">​​​​ -->​​​​​​​​ </head>​​​​ ​​​​ <body>​​​​ <hr/><hr/>​​​​ <h1>EL表达式获取List集合对象</h1>​​​​ <%​​​​ //创建Student对象​​​​ Student stu1 = new Student(1, "木丁西", '男', 24);​​​​ Student stu2 = new Student(2, "小龙女", '女', 14);​​​​ Student stu3 = new Student(3, "张馨予", '女', 28);​​​​ Student stu4 = new Student(4, "刘先生", '男', 35);​​​​ //创建集合对象​​​​ List<Student> list = new ArrayList();​​​​ list.add(stu1);​​​​ list.add(stu2);​​​​ list.add(stu3);​​​​ list.add(stu4);​​​​ //保存集合对象到page域对象中。​​​​ pageContext.setAttribute("list", list);​​​​ %>​​​​ <%-- 使用EL表达式获取集合对象 --%>​​​​ EL表达式获取集合对象:${list }<br/>​​​​ EL表达式获取集合中的第1个对象:${list[0] }<br/>​​​​ <%--​​​​ 注意这里的中括号[]等价于调用get(索引值)方法​​​​ --%>​​​​ --|EL表达式获取集合中的第1个对象中的属性值:${list[0].id }-${list[0].name }-${list[0].sex }-${list[0].age }<br/>​​​​ <%--​​​​ 注意这里的.id,并不是调用属性(Student类中,属性私有的private),而是调用get方法getId()中Id的小写​​​​ --%>​​​​ EL表达式获取集合中的第2个对象:${list[1] }<br/> ​​​​ --|EL表达式获取集合中的第1个对象中的属性:${list[1].id }-${list[1].name }-${list[1].sex }-${list[1].age }<br/>​​​​ EL表达式获取集合中的第3个对象:${list[2] }<br/>​​​​ --|EL表达式获取集合中的第1个对象中的属性:${list[2].id }-${list[2].name }-${list[2].sex }-${list[2].age }<br/>​​​​ EL表达式获取集合中的第4个对象:${list[3] }<br/> ​​​​ --|EL表达式获取集合中的第1个对象中的属性:${list[3].id }-${list[3].name }-${list[3].sex }-${list[3].age }<br/>​​​​ <hr/>​​​​ <h3>上面的等价于</h3>​​​​ jsp表达式获取集合对象:​​​​ <% ​​​​ List<Student> stuList= (List<Student>)pageContext.getAttribute("list", pageContext.PAGE_SCOPE);​​​​ %><%= stuList %><br/>​​​​ jsp表达式获取集合中的第1个对象:<%= stuList.get(0) %><br/>​​​​ --|jsp表达式获取集合中的第1个对象中的属性值:<%=stuList.get(0).getId()%>-<%=stuList.get(0).getName()%>-<%=stuList.get(0).getSex()%>-<%=stuList.get(0).getAge()%><br/>​​​​ jsp表达式获取集合中的第2个对象:<%= stuList.get(1) %><br/>​​​​ --|jsp表达式获取集合中的第2个对象中的属性值:<%=stuList.get(1).getId()%>-<%=stuList.get(1).getName()%>-<%=stuList.get(1).getSex()%>-<%=stuList.get(1).getAge()%><br/>​​​​ jsp表达式获取集合中的第3个对象:<%= stuList.get(2) %><br/>​​​​ --|jsp表达式获取集合中的第3个对象中的属性值:<%=stuList.get(2).getId()%>-<%=stuList.get(2).getName()%>-<%=stuList.get(2).getSex()%>-<%=stuList.get(2).getAge()%><br/>​​​​ jsp表达式获取集合中的第4个对象:<%= stuList.get(3) %><br/>​​​​ --|jsp表达式获取集合中的第4个对象中的属性值:<%=stuList.get(3).getId()%>-<%=stuList.get(3).getName()%>-<%=stuList.get(3).getSex()%>-<%=stuList.get(3).getAge()%><br/>​​​​​​​​​​​​​​​​ <hr/><hr/>​​​​​​​​​​​​​​​​ <h1>EL表达式获取Map集合对象</h1>​​​​ <%​​​​ //创建Map集合对象​​​​ Map<String, Student> map = new HashMap();​​​​ //添加数据到 Map结合中​​​​ map.put("001", stu1);​​​​ map.put("002", stu2);​​​​ map.put("003", stu3);​​​​ map.put("004", stu4);​​​​ //保存集合对象到page域对象中。​​​​ pageContext.setAttribute("map", map);​​​​ %>​​​​ ​​​​ <%-- 使用EL表达式获取Map集合对象 --%>​​​​ EL表达式获取集合对象:${map }<br/>​​​​ EL表达式获取集合中的第1个对象:${map["001"]}<br/>​​​​ --|EL表达式获取集合中的第1个对象中的属性:${map["001"].id }-${map["001"].name }-${map["001"].sex }-${map["001"].age }<br/>​​​​ EL表达式获取集合中的第2个对象:${map["002"]}<br/>​​​​ --|EL表达式获取集合中的第2个对象中的属性:${map["002"].id }-${map["002"].name }-${map["002"].sex }-${map["002"].age }<br/>​​​​ EL表达式获取集合中的第3个对象:${map["003"]}<br/>​​​​ --|EL表达式获取集合中的第3个对象中的属性:${map["003"].id }-${map["003"].name }-${map["003"].sex }-${map["003"].age }<br/>​​​​ EL表达式获取集合中的第4个对象:${map["004"]}<br/>​​​​ --|EL表达式获取集合中的第4个对象中的属性:${map["004"].id }-${map["004"].name }-${map["004"].sex }-${map["004"].age }<br/>​​​​ ​​​​ <hr/>​​​​ <h3>上面的等价于</h3>​​​​ jsp表达式获取集合对象:​​​​ <% ​​​​ Map<String, Student> stuMap = (Map<String, Student>)pageContext.getAttribute("map", pageContext.PAGE_SCOPE);​​​​ %><%= stuMap %><br/>​​​​ jsp表达式获取集合中的第1个对象:<%= stuMap.get("001") %><br/>​​​​ --|jsp表达式获取集合中的第1个对象中的属性值:<%=stuMap.get("001").getId()%>-<%=stuMap.get("001").getName()%>-<%=stuMap.get("001").getSex()%>-<%=stuMap.get("001").getAge()%><br/>​​​​ jsp表达式获取集合中的第2个对象:<%= stuMap.get("002") %><br/>​​​​ --|jsp表达式获取集合中的第2个对象中的属性值:<%=stuMap.get("002").getId()%>-<%=stuMap.get("002").getName()%>-<%=stuMap.get("002").getSex()%>-<%=stuMap.get("002").getAge()%><br/>​​​​ jsp表达式获取集合中的第3个对象:<%= stuMap.get("003") %><br/>​​​​ --|jsp表达式获取集合中的第3个对象中的属性值:<%=stuMap.get("003").getId()%>-<%=stuMap.get("003").getName()%>-<%=stuMap.get("003").getSex()%>-<%=stuMap.get("003").getAge()%><br/>​​​​ jsp表达式获取集合中的第4个对象:<%= stuMap.get("004") %><br/>​​​​ --|jsp表达式获取集合中的第4个对象中的属性值:<%=stuMap.get("004").getId()%>-<%=stuMap.get("004").getName()%>-<%=stuMap.get("004").getSex()%>-<%=stuMap.get("004").getAge()%><br/>​​​​ ​​​​ </body>​​​​</html>​​


效果如下:







4. 表达式计算





4.1 算数表达式






4.2 比较运算





4.3 逻辑运算









4.4 判空(null 或 空字符串)






Demo如下:


​​<%@ page language="java" import="java.util.*, com.cn.entity.Student" pageEncoding="UTF-8"​​​​ session="true"​​​​%>​​​​<%​​​​String path = request.getContextPath();​​​​String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";​​​​%>​​​​​​​​<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">​​​​<html>​​​​ <head>​​​​ <base href="<%=basePath%>">​​​​ ​​​​ <title>My JSP 'el.jsp' starting page</title>​​​​ ​​​​ <meta http-equiv="pragma" content="no-cache">​​​​ <meta http-equiv="cache-control" content="no-cache">​​​​ <meta http-equiv="expires" content="0"> ​​​​ <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">​​​​ <meta http-equiv="description" content="This is my page">​​​​ <!--​​​​ <link rel="stylesheet" type="text/css" href="styles.css">​​​​ -->​​​​​​​​ </head>​​​​ ​​​​ <body>​​​​ <%-- ​​​​ EL表达式计算​​​​ --%>​​​​ <%-- 1.算数表达式 --%>​​​​ 10+5:${10+5 }<br/>​​​​ 10-5:${10-5 }<br/>​​​​ 10*5:${10*5 }<br/>​​​​ 10/5:${10/5 }<br/>​​​​ ​​​​ <hr/>​​​​ <%--​​​​ 2.比较运算​​​​ > < >= <= == !=​​​​ --%>​​​​ 10>5:${10>5 }<br/>​​​​ 10<5:${10<5 }<br/>​​​​ 10==5:${10==5 }<br/>​​​​ 10!=5:${10!=5 }<br/>​​​​ ​​​​ <hr/>​​​​ <%--​​​​ 3.逻辑运算​​​​ && || !​​​​ --%>​​​​ true && true - ${true && true }<br/>​​​​ true && false - ${true && false }<br/>​​​​ true || true - ${true || true }<br/>​​​​ true || false - ${true || false }<br/>​​​​ !true - ${!true }<br/>​​​​ !false - ${!false }<br/>​​​​​​​​ <hr/>​​​​ <%--​​​​ 4.判空(null 或 空字符串)​​​​ empty 变量​​​​ --%>​​​​ <%​​​​ //String name = "木丁西";​​​​ //String name = "";​​​​ String name = null;​​​​ pageContext.setAttribute("name", name);​​​​ %>​​​​ name是否为空:${name == null }<br/>​​​​ name是否为空:${name == "" }<br/>​​​​ name是否为空或null:${name == null || name == "" }<br/>​​​​ <%-- 简化写法 --%>​​​​ name是否为空或null:${empty name}<br/>​​​​ ​​​​ </body>​​​​</html>​​

效果如下:




EL表达式_数据


标签:EL,对象,获取,jsp,集合,表达式
From: https://blog.51cto.com/u_15769923/5947754

相关文章

  • ELK日志分析系统
    一,ELK日志分析系统概述1.ELK简介ElasticSearch:是基于Lucene(-一个全文检索引擎的架构)开发的分布式存储检索引擎,用来存储各类日志Elasticsearch是用Java开发的,可通......
  • Selenium2设置隐式等待和显示等待
    Selenium2设置隐式等待和显示等待1.设置显示等待Java代码:​​public​​​​static​​​​WebElementWaitForElemen......
  • ELK+FileBeat日志分析系统
    一、ELK简介ELK平台是一套完整的日志集中处理解决方案,将ElasticSearch、Logstash和Kiabana三个开源工具配合使用,完成更强大的用户对日志的查询、排序、统计需求。......
  • SHELL编程For实战
    1、SHELL编程For循环语句for循环语句主要用于对某个数据域进行循环读取、对文件进行遍历,通常用于需要循环某个文件或者列表。其语法格式以for…do开头,done结尾。语法格式......
  • electron 入门操作
    1.安装node.js2.指定淘宝镜像npminstall-gcnpm-registry=https://registry.npm.taobao.org3.创建项目文件夹cnpminit初始化项目4.安装electroncnpminstall--save-......
  • ELK+Filebeat日志分析系统
    一、ELK日志分析系统简介ELK平台是一套完整的日志集中处理解决方案,将ElasticSearch、Logstash和Kiabana三个开源工具配合使用,完成更强大的用户对日志的查询、排序、......
  • element cascader多选filterable导致placeholder重叠问题
    网上查了很多没有遇到满意的,最后隐藏input的css样式解决。<el-cascaderplaceholder="请输入":options="data.typeList":props="typeProps"v-model="i......
  • 如何合并Excel文档
    Excel文档在日常生活中用处非常广泛,常用于储存或批量编辑数据等。当电脑中存在多个Excel文档时,我们可以利用编程的方法合并相同类型的文档。这一方法也有助于我们分类管理......
  • TrueWireless Mirroring数据传输方案
    mirror/监听/镜像:通过侦听,副耳塞将接收到大多数数据包,但仍会发生数据丢包的可能。为了帮助副耳塞接收所有数据包,主耳塞可以选择性地中继转发丢失的数据。选择性中继转发数......
  • laravel发送邮件并配置发件人信息
    最近要做发送邮件的功能,发送邮件的功能还是比较简单的,可以使用PHPMailer包<?php$mail=newPHPMailer\PHPMailer();try{$mail->addaddress('[email protected]......