<%@ page import="cn.xiao.bean.User" %>
<%@ page import="java.util.Map" %>
<%@ page import="java.util.HashMap" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %><%--
Created by IntelliJ IDEA.
User: dream
Date: 18-7-24
Time: 下午1:15
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" session="false" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>el表达式回顾</title>
</head>
<body>
<%
request.setAttribute("name", "value");
User user = new User();
user.setGender("male");
user.setLove("lyy");
request.setAttribute("user", user);
Map<String, String> map = new HashMap<>();
map.put("1", "01");
map.put("2", "02");
request.setAttribute("map", map);
List<String> list = new ArrayList<>();
list.add("11");
list.add("22");
request.setAttribute("list", list);
%>
<%--存取值--%>
${name} 相当于${pageContext.findAttribute("name")}<br>
<%--存取对象的属性--%>
${user.love}
<%--读取list属性--%>
<c:forEach var="string" items="${list}">
${string}
</c:forEach>
<%--读取map属性--%>
<c:forEach var="entrySet" items="${map}">
${entrySet.key} = ${entrySet.value}
</c:forEach>
<%--测试empty使用--%>
<c:if test="${empty(list)}">
list为空
</c:if>
<c:if test="${!empty(list)}">
<c:forEach var="item" items="${list}">
${item}
</c:forEach>
</c:if>
<%--三元表达式--%>
<label>
<input type="radio" name="gender" value="female" ${user.gender=="female"?"checked":""}>女
</label>
<label>
<input type="radio" name="gender" value="male" ${user.gender=="male"?"checked":""}>男
</label>
</body>
</html>
<%@ page import="cn.xiao.bean.User" %>
<%@ page import="java.util.Map" %>
<%@ page import="java.util.HashMap" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %><%--
Created by IntelliJ IDEA.
User: dream
Date: 18-7-24
Time: 下午3:55
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" session="false" %>
<%@ taglib uri="http://mycompany.com" prefix="fn" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn2" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%--param对象获取注册表信息--%>
<form action="${pageContext.request.contextPath}/TestServlet" method="post">
<label>
<input name="register" type="text" value="${param.register}">
<input type="submit" value="注册">
</label>
</form>
<%--自定义html转义--%>
${fn:filter("<a>")}
<%--el标签库提供的--%>
${fn2:escapeXml("<a href='www.4399.com'></a>")}
<%--从数据中回显选项--%>
<%
User user = new User();
user.setLikes(new String[]{"sing", "dance"});
request.setAttribute("user", user);
%>
<label>
<input type="checkbox" name="likes" value="sing" ${fn2:contains(fn2:join(user.likes, ","), "sing" )? "checked":""}>唱歌
<input type="checkbox" name="likes" value="dance" ${fn2:contains(fn2:join(user.likes, ","), "dance" )?"checked":""}>跳舞
<input type="checkbox" name="likes" value="play" ${fn2:contains(fn2:join(user.likes, ","), "play" )? "checked":""}>玩
</label><br>
<%--jstl标签库练习--%>
<%--out标签--%>
<%
request.setAttribute("a", null);
%>
1.html转义
<c:out value="<a href='www.4399.com'></a>" escapeXml="true"/><br>
2.设置默认值
<c:out value="${pageScope.a}" default="对不起这个标签是空的"/><br>
<%--set标签--%>
1.往某个域里面存数据
<c:set var="key" value="value" scope="request"/>${requestScope.key}<br>
2.往某个map存数据
<%
Map<String, String> map = new HashMap<>();
request.setAttribute("map", map);
%>
<c:set var="key" value="value1" target="${requestScope.map}"/>
<c:forEach var="entrySet" items="${requestScope.map}">
${entrySet.key} = ${entrySet.value} <br>
</c:forEach>
2.往bean里面存数据
<%
User user1 = new User();
request.setAttribute("user1", user1);
%>
<c:set property="name" value="xiaoxin" target="${requestScope.user1}"/>${requestScope.user1.name}<br>
<%--remove标签=移除某个域中的值--%>
<c:remove var="key" scope="request"/>
<%--catch标签=处理位于标签体内的异常,默认存在page域里面--%>
<c:catch var="myexception">
<%
int a= 10/0;
%>
</c:catch>
<c:out value="${myexception.stackTrace}"/><br>
<%--if标签,进行判断,将结果存储在某个域里面--%>
<c:if test="${empty(user1)}" var="exists" scope="request">
成功则被执行
</c:if><br>
<%--choose-when-otherwise 实现if-else表达式--%>
<c:choose>
<c:when test="${empty(user1)}" >
user1存在
</c:when>
<c:otherwise>
user1不存在
</c:otherwise>
</c:choose><br>
<%--foreach迭代--%>
<%
List<String> list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");
request.setAttribute("list", list);
%>
<c:forEach var="item" items="${list}">
${item}
</c:forEach><br>
或者:
<c:forEach var="index" begin="0" end="${fn2:length(list)}">
${list[index]}
</c:forEach>
<%--url重写:中文参数,防止禁用cookie,后面会自动加上JSSESSIONID号码--%>
<c:url var="TestServlet" value="/TestServlet">
<c:param name="like" value="唱歌"/>
</c:url>
<a href="${TestServlet}">一个超链接</a>
<%--相当于:--%>
<%--<a href="/day12/TestServlet?like=%e5%94%b1%e6%ad%8c">一个超链接</a>--%>
</body>
</html>