JSTL -- core标签库

1.JSTL简介

JSP标准标记库(JSP Standard Tag Library) 是一个实现Web应用程序中常用功能的定制标记库集,
功能包括输出、程序流程控制、数据格式化、XML操作以及数据库访问等。总之,它实现了适量服务器端Java应用程序
常用的基本功能。通过为典型表现层任务(如数据格式化和迭代或条件内容)提供标准实现,
JSTL使得JSP开发者可以专注于特定于应用程序的开发需求,而不是为这些通用操作多次开发。
这里使用的版本为JSTL1.2,对应JAVAEE5.0规范。

2.配置
在MyEclipse中默认提供有JSTL的jar包,而Eclipse中则需要
手动添加至WEB-INF –> lib目录下。
下载地址:http://vdisk.weibo.com/s/daYMMYPGBjTiU

3.core标签库
core标签库实现了核心功能,变量管理、迭代以及条件判断等等。
URI:http://java.sun.com/jsp/jstl/core 标准前缀: c,URI可以在jstl - 1.2.jar –> META-INF –>c.tld中找到。

引入:
这里写图片描述

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

常用标签:
这里写图片描述

set:JSP的变量都是定义在四大作用域中的,这个set标签
也是这么回事的,语法:

<c:set var="username" value="张三" scope="page"></c:set>

scope默认是page。或者:

<c:set var="num" value="${1+1}" scope="page"></c:set>

标签的属性value一般都支持el表达式计算

if:
if标签用于逻辑判断,用法:

    <c:set var="sal" value="12000"></c:set>
    <c:if test="${pageScope.sal >= 10000}">
        理想薪资
    </c:if>

坑爹的是没有else标签,要实现else的效果可以用choose。

choose:
这玩意就相当于switch语句,组成部分是
choose –> when –> otherwise

语法:

<c:choose>
    <c:when test="${pageScope.sal <= 10000}">
        理想薪资
    </c:when>
    <c:when test="${pageScope.sal < 10000}">
        低薪
    </c:when>
    <c:otherwise>
        高薪
    </c:otherwise>
</c:choose>

otherwise 等价于 default

循环:
JSTL循环有两种 for 和 forEach,但标签都是c:forEach

a) for循环:

    <c:forEach var="i" begin="1" end="10" step="1">
        ${pageScope.i}<br />
    </c:forEach>
var:声明循环变量,begin:起始位置,end:边界,step:步进值
循环变量是放在pageScope里的。

b) forEach循环:

    <%
        String [] strs = new String[]{"吃饭" , "睡觉"};
        pageContext.setAttribute("strs", strs);

        List<String> list = new ArrayList<String>();
        list.add("吹水");
        list.add("打边炉");
        list.add("吹牛逼");
        pageContext.setAttribute("hoblist", list);
    %>
    <c:forEach var="hobbys" items="${pageScope.strs}">
        ${pageScope.hobbys}
    </c:forEach>

import:
动态包含,和JSP:include是一样的,这里就不贴代码了。

c:out:
用于输出内容,这个标签能够对特殊符号进行
转译输出。这个标签有个escapeXml属性,默认值是true,
表示对html进行转译输出,无风险,而false则表示不转译,有风险。

<c:out value="${pageScope.list}"></c:out>

c:catch:
异常捕获,用途就是包裹住有可能抛异常的代码,
还可以通过var属性获取到这个异常信息:

<c:catch var="myex">
    <%
        System.out.println(1/0);
    %>
</c:catch>
${pageScope.myex}

还有个好处就是catch住异常之后不会页面能够照常解析。


用于页面的重定向。格式举例:

    <c:redirect url="/MyHtml.html" />
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值