EL表达式,JSTL标签库
EL表达式
el替换了jsp的<%= %>


如果key是没有set的:
v


先存在域里(或者传过来),再输出。
应该使用了jsp-api这个包
1.EL表达式搜索域数据的顺序
当四个域中都有相同的key的数据的时候,EL表达式会按照四个域的从小到大的顺序去进行搜索,找到就输出。
从小范围到大范围。pageContext,request,session, application
后面在第4点时,讲到了相同的key时,也可以指定某个域。

2.c)EL表达式输出Bean的普通属性,数组属性。List 集合属性,map集合属性
EL表达式会根据name去User类里寻找这个name的get方法,此时会自动把name首字母大写并加上get前缀,一旦找到与之匹配的方法,El表达式就会认为这就是要访问的属性,并返回属性的值。
所以说:在Person对象里 只写一个get方法,不写类的成员变量都能使用!!

还有一点注意:如果一个成员变量是boolean类型,自动生成的get方法 ,命名是is什么什么。 这样的话EL表达式会根据ok的类型,自动去找isOk 这个方法。


3.EL表达式—运算





<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.Map" %>
<%@ page import="java.util.HashMap" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
// 1、值为null值的时候,为空
request.setAttribute("emptyNull", null);
// 2、值为空串的时候,为空
request.setAttribute("emptyStr", "");
// 3、值是Object类型数组,长度为零的时候
request.setAttribute("emptyArr", new Object[]{});
// 4、list集合,元素个数为零
List<String> list = new ArrayList<>();
// list.add("abc");
request.setAttribute("emptyList", list);
// 5、map集合,元素个数为零
Map<String,Object> map = new HashMap<String, Object>();
// map.put("key1", "value1");
request.setAttribute("emptyMap", map);
%>
${ empty emptyNull } <br/>
${ empty emptyStr } <br/>
${ empty emptyArr } <br/>
${ empty emptyList } <br/>
${ empty emptyMap } <br/>
<hr>
${ 12 != 12 ? "A":"B" }
</body>
</html>


双引号 也可以
4.EL表达式的11个隐含对象


pageContext的使用:


两个一样:
为什么.scheme 就相当于.getScheme。因为输出数据时 会默认的找这个的get+首字母大写的那个方法

4个域的使用:


param:


key 是String V是String[]


输出 wzg168
当遇到要获取复选框中的数据的场景时可以使用这个参数

header:
取请求头的某一个 因为User-Agent有特殊字符 所以用大括号

cookie:
键是String类型。cookie.JSESSIONID就是找到了JSESSIONID的值,.name就是getName

initparam:
读取配置文件

JSTL标签库
el替换jsp的 <%= %>,jstl替换jsp的 <% %>


使用前先引入


1.set标签

2.if标签
如果成立,则中间的输出

3. c:choose c:when c:otherwise标签



4.forEach标签
遍历1到10

遍历数组

遍历Map集合

遍历List集合



forEach标签所有属性组合使用介绍
begin和end:


step:

varStatus: 变量状态
分析源码可得:
可以使用的方法和作用:

使用:status.Current …

如果一个成员变量是boolean类型,自动生成的get方法 ,命名是is什么什么。 这样的话EL表达式会根据first的类型,自动去找isFirst这个方法。
本文详细介绍了EL(Expression Language)表达式和JSTL(JavaServer Pages Standard Tag Library)标签库的使用。内容包括EL表达式的搜索域顺序、输出Bean属性、运算以及11个隐含对象。同时讲解了JSTL中的set、if、choose、forEach等标签的使用,展示了如何遍历数组、List集合和Map集合。此外,还探讨了EL表达式在处理空值和条件判断中的应用。
1389

被折叠的 条评论
为什么被折叠?



