JSP 标准标签库(JSTL)

<%=%>不等式,用来输出
<%%>代码快
<%!%>定义类

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(变量名,变量值)中的设置的值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值