<body>
<!--
下面两个代码都是输出语句,但是当输出的语句包含特殊字符时 http://127.0.0.1:9090/jstl_test/jstl/test1.jsp?userName=<a href="aa">1</a>
-->
${param.userName}<!-- 就会显示超链接 -->
<c:out value="${param.userName}"></c:out><!-- 就会显示源码,所以可以防止恶意代码 -->
<c:set var="age" value="20"></c:set>
<!-- 下面两句代码效果一样,当value为null的时候就会显示缺省值,但是default和标签中的内容不能同时存在,会出异常 -->
<c:out value="${age}" default="hahah"></c:out>
<c:out value="${age}">hahaha</c:out>
<c:set var="age" value="null"></c:set><!-- 这个只是字符串"null"并不是null 若要表示真的null 则写成"${null}",这也相当于删除这个属性 -->
<c:out value="${age}" default="hahah"></c:out><!-- 所以这里显示null字符串 -->
<%Person p = new Person("xxc",20);
session.setAttribute("p", p);
%>
<!-- 设置p对象中的name属性为pkq,value的值也可以在标签的内容上设置 target表示哪个对象,property表示对象上的哪个属性 value表示新设定属性的值-->
<c:set target="${p}" property="name" value="pkq"></c:set>
<c:out value="${p.name}"></c:out><!-- 输出p的name属性为pkq -->
</body>
JSTL判断是否为空<c:if test="${! empty userName}">
<c:if>标签
<c:chooes>标签:
<c:forEach>标签:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%
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 'forEach.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">
-->
<style type="text/css">
.one{
background: green;
}
.two{
background: blue;
}
</style>
</head>
<body>
<c:set var="list" value="${pageContextScope}"></c:set>
<table>
<c:set var="aaa" value="aaa" scope="request"></c:set>
<c:set var="bbb" value="bbb" scope="request"></c:set>
<c:forEach items="${requestScope}" var="entry" varStatus="status"><!-- varStatus封装了页面的状态,有哪些状态看下图 -->
<tr>
<td class="${status.count mod 2==0?'one':'two'}">${entry.key}</td>
<td class="${status.count mod 2==0?'one':'two'}">${entry.value}</td>
</tr>
</c:forEach>
</table>
</body>
</html>