JSTLタグライブラリの包括的なチュートリアル、JSTLタグライブラリは知っておく必要があります

JSTLタグライブラリ

MySQLの学習はこの記事を読むのに十分です、配信アドレス:SQLステートメントは知っている必要があります
JSP包括的なチュートリアル、配信アドレス:JSPは知っている必要があります

1. JSTLタグライブラリの概要

  1. JSTLタグライブラリの完全な名前は、JSP標準タグライブラリです。これは、常に改善されているオープンソースのJSPタグライブラリです。
  2. EL式は主にJSPの式スクリプトを置き換えるためのものであり、JSTLタグライブラリはコードスクリプトを置き換えるためのものです
  3. JSTLは、さまざまな機能を持つ5つのタグライブラリで構成されています。
    ここに画像の説明を挿入

次に、JSTLタグライブラリを使用する手順

  1. 最初にJSTLタグライブラリのjarパッケージをインポートします
    ここに画像の説明を挿入
  2. taglib命令を使用して、jspページにタグライブラリを導入します(パッケージを自動的にガイドします)
    COREタグライブラリ
    <%@ taglib prefix =“ c” uri =“ http://java.sun.com/jsp/jstl/core”%>
    XMLタグライブラリ
    <%@ taglib prefix =“ x” uri =“ http://java.sun.com/jsp/jstl/xml”%>
    FMTタグライブラリ
    <%@ taglib prefix =“ fmt” uri =“ http:/ /java.sun.com/jsp/jstl/fmt "%>
    SQLタグライブラリ
    <%@ taglib prefix =" sql "uri =" http://java.sun.com/jsp/jstl/sql "%>
    FUNCTIONSタグライブラリ
    <%@ taglib prefix = "fn" uri = "http://java.sun.com/jsp/jstl/functions"%>

3、コアコアライブラリの使用

  1. <C:セット/>タグ、機能:あなたは、ドメイン内のデータを保存することができます
    ①スコープ属性は、次のように値があり、保存するドメインに設定されています:
    ページがpageContextのドメインを表します(デフォルト値)
    要求は、要求ドメイン表し
    セッションは、セッションのドメインを表し
    、アプリケーションがのServletContextドメイン表し
    ②VARを属性設定キー
    とは③値属性設定値とは

コードのデモ:webディレクトリにcore.jspを作成します

<body>
    保存之前:${ pageScope.name } <br>
    <c:set scope="page" var="name" value="Jaychou"/>
    保存之后:${ pageScope.name }<br>
</body>

演算結果:
ここに画像の説明を挿入
2。<c:if />タグ、機能:
判定条件判定属性設定判定条件、属性値EL式使用
注:検査属性値がtrueの場合、if開始タグと終了タグのステートメントを実行、falseの場合は実行しない

コードのデモ:webディレクトリにcore.jspを作成します

<body>
    <c:if test="${ 1 == 1 }">
        test属性值为真,我执行
    </c:if>
    <c:if test="${ 1 != 1 }">
        test属性值为假,我不执行
    </c:if>
</body>

演算結果:
ここに画像の説明を挿入

  1. <c:choose>、<c:when>、<c:otherwise>タグ、機能:スイッチケース構造と同様の多方向判定
    ①タグを選択して多方向判定を開始
    ②ラベル
    各判定状況のテスト属性設定を意味する場合判定条件、属性値はEL式を使用します。
    注:テスト属性値がtrueの場合は、開始タグと終了タグのステートメントが実行されます
    ③その他のラベルは残りを示し、満たされると開始タグと終了タグのステートメントが実行されます
    注:
    1. 3種類のタグを使用する場合、タグ内でhtmlコメントを使用することはできませんが、jspコメントを使用する必要があります
    。2. whenタグの親タグは選択タグでなければなりません
    3. whenタグは上から下に判断されます。残りタグを判断するとき

コードのデモ:webディレクトリにcore.jspを作成します

<body>
    <%
        request.setAttribute("grade", 55);
    %>
    <c:choose>
        <c:when test="${ requestScope.grade > 90 }">
            <div>绩点4.0</div>
        </c:when>
        <c:when test="{ requestScope.grade > 80 }">
            <h2>绩点3.0</h2>
        </c:when>
        <c:otherwise>
            <c:choose>
                <c:when test="{ requestScope.grade > 70 }">
                    <h2>绩点2.0</h2>
                </c:when>
                <c:otherwise>
                    绩点1.0或无
                </c:otherwise>
            </c:choose>
        </c:otherwise>
    </c:choose>
</body>

演算結果:
ここに画像の説明を挿入

  1. <c:forEach />タグ、関数:出力をトラバースします(foreachループと同じ、自動的に次のデータにトラバースします)

①トラバース1〜10

コードのデモ:Webディレクトリにforeach.jspを作成する

<body>
    <%--
        begin属性设置开始的索引
        end属性设置结束的索引
        var属性表示循环的变量(当前正在遍历到的数据),可任意取名
        循环的是foreach起始和结束标签中的内容
    --%>
    <c:forEach begin="1" end="10" var="i">
        第${i}行 
    </c:forEach>
</body>

操作結果:
ここに画像の説明を挿入
②アレイをトラバース

コードのデモ:Webディレクトリにforeach.jspを作成する

<body>
    <%--
        items表示遍历的数据源
        var表示当前遍历到的数据,可任意取名
    --%>
    <%
        request.setAttribute("arr", new String[]{"周杰伦","昆凌","方文山"});
    %>
    <c:forEach items="${ requestScope.arr }" var="item">
        ${ item } <br>
    </c:forEach>
</body>

実行結果:
ここに画像の説明を挿入
③Mapコレクションをトラバースします

コードのデモ:Webディレクトリにforeach.jspを作成する

<body>
    <%
        Map<String, Object> map = new HashMap<>();
        map.put("key1", "value1");
        map.put("key2", "value2");
        map.put("key3", "value3");
        request.setAttribute("map", map);
    %>
    <c:forEach items="${ requestScope.map }" var="entry">
        ${entry.key} 等于 ${entry.value} <br>
        <%--  ${entry}会将所有数据以 key=value 格式输出  --%>
    </c:forEach>
</body>

演算結果:
ここに画像の説明を挿入

④リストコレクションをトラバースし、学生クラスをコレクションに保存します

コードデモ1:学生クラスを作成する

public class Student {
    private Integer id;
    private String username;
    private String password;
    private Integer age;
    private String phone;
    //以及全参、空参构造器,get、set方法、toString方法
}

コードデモ2:Webディレクトリにforeach.jspを作成する

<body>
    <%
        List<Student> studentList = new ArrayList<>();
        for (int i = 1; i <= 10; i++) {
            studentList.add(new Student(i,"username"+i ,"pass"+i,18+i,"phone"+i));
        }
        request.setAttribute("stus", studentList);
    %>
    <%--
        items 表示遍历的数据源
        var 表示遍历到的数据
        begin表示遍历的开始索引值(起始为0),不写begin代表从第一个开始
        end 表示结束的索引值,不写end代表遍历到最后一个
        step 属性表示遍历的步长值,默认是1
        varStatus 属性表示当前遍历到的数据的状态
    --%>
    <c:forEach items="${requestScope.stus}" var="stu" begin="2"
                        end="7" step="2" varStatus="status">
            ${stu.id} <br>
            ${stu.username} <br>
            ${stu.password} <br>
            ${stu.age} <br>
            ${stu.phone} <br>
            ${status.step} <br> <%--还可获取更多状态,见下图--%>
    </c:forEach>
    <%--运行结果:从3输出到8,每隔两个输出,即只有3、5、7--%>
</body>

varStatus属性が取得できるステータス:
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_49343190/article/details/108159378