<%=%>不等式,用来输出
<%%>代码快
<%!%>定义类
jsp的内置对象
* pageContext,相当于servlet中的PageContext对象
* request,相当于servlet中的HttpServletRequest对象
* session,相当于servlet中的HttpSession对象
* application,相当于servlet中的HttpContext对象
*
* out,相当于servlet的PrintWriter对象
* config,相当于servlet的ServletConfig对象
* response,相当于servlet中的HttpServletResponse对象
* exception,相当于servlet中的Exception对象
* page,jsp页面本身
引入链接
<%@taglib prefix=“c” uri=“http://java.sun.com/jstl/core_rt” %>
set标签
<c:set var="name" value="张三" scope="request"></c:set>
相当于
request.setAttribute("name","张三");
scope不写作用域为page
out标签
<c:out value="${name}"></c:out>--%>
相当于
<%=request.getAttribute("name")%>
注意作用域
remove标签
<c:remove var="name"></c:remove>
等价于
<%=request.removeAttribute("name")%>
条件标签
<c:set var="score" value="60" ></c:set>
<c:if test="${score>=60}">
<c:out value="及格"></c:out>
</c:if>
<c:choose>
<c:when test="${score>90}">
<c:out value="优秀"></c:out>
</c:when>
<c:when test="${score>80}">
<c:out value="良好"></c:out>
</c:when>
<c:when test="${score>70}">
<c:out value="一般"></c:out>
</c:when>
<c:when test="${score>60}">
<c:out value="及格"></c:out>
</c:when>
<c:otherwise>
不及格
</c:otherwise>
</c:choose>
迭代标签库
迭代标签用于多次计算标签体
迭代标签库中的标签有:
实例:
定义数据
<%
String[] array = {"张三", "李四", "王五", "赵六", "王八"};
List<String> list = new ArrayList<>();
list.add("张三");
list.add("李四");
list.add("王五");
list.add("赵六");
list.add("王八");
Map<Integer, String> map = new HashMap<>();
map.put(1, "张三");
map.put(2, "李四");
map.put(3, "王五");
map.put(4, "赵六");
map.put(5, "王八");
request.setAttribute("array", array);
request.setAttribute("list", list);
request.setAttribute("map", map);
String str = "张三,李四,王五,赵六";
request.setAttribute("str", str);
%>
遍历数组
items中放入要遍历的数组,var为当前对象。相当于java的forEach。
<c:forEach items="${array}" var="item">
${item}<br>
</c:forEach>
遍历集合
<c:forEach items="${list}" var="item">
${item}<br>
</c:forEach>
遍历Map
<c:forEach items="${map}" var="item">
${item}----${item.key}----${item.value}<br>
</c:forEach>
遍历用字符分割的元素
items为要遍历的元素,delims为用什么符号分割,var为当前对象。
<c:forTokens items="${str}" delims="," var="item">
${item}<br>
</c:forTokens>
日期格式化
引入链接 <%@taglib prefix=“f” uri=“http://java.sun.com/jstl/fmt_rt” %>
<%
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
request.setAttribute("date",date);
%>
<%=date%><br>
<%=sdf.format(date)%><br>
<f:formatDate value="${date}" pattern="yyyy-MM-dd HH:mm:ss"></f:formatDate>
补充el表达式
el表达式${变量名}用来获取变量的值,等价于java代码的getAttribute(变量名),获取setAttribute(变量名,变量值)中的设置的值