進入標籤的世界JSTL與EL深入研究

<%@page import="java.util.*"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<jsp:useBean id="person" class="com.jia.test.Person"></jsp:useBean>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSTL 學習</title>
</head>
<body>
    <!-- OUT標籤 -->
    <c:out value="OUT 標籤用法:"></c:out>
    <br>
    <!-- 使用out標籤輸出常量 -->
    <c:out value="This is out first JSTL demo"></c:out>
    <br>
    <!-- 使用out標籤輸出變量 -->
    <%
        session.setAttribute("name", "姚佳偉");
    %>
    <!-- 直接輸出變量 -->
    <c:out value="${name} "></c:out>
    <br>
    <!--當變量不存在時,通過default屬性輸出默認值  -->
    <c:out value="${name1 }" default="默認值"></c:out>
    <br>
    <!-- 設置輸出轉義後的字符需要escapeXml屬性值設置成false -->
    <c:out value="&lt out標籤&gt" escapeXml="false"></c:out>
    <br>



    <!-- SET標籤 -->
    <c:out value="SET 標籤用法:"></c:out>
    <br>
    <!-- 存值到scrope中 -->
    <c:set value="today" var="day" scope="session"></c:set>
    <c:out value="${day }"></c:out>
    <br>


    <c:set var="age" scope="application">eleven</c:set>
    <c:out value="${age }"></c:out>
    <br>

    <!-- 通過set標籤向person中賦值 -->
    <c:set target="${person }" property="name2" value="zhangsan"></c:set>
    <c:out value="${person.name2 }"></c:out>
    &nbsp;&nbsp;
    <c:set target="${person }" property="age2" value="11"></c:set>
    <c:out value="${person.age2 }"></c:out>
    &nbsp;&nbsp;
    <c:set target="${person }" property="address2" value="北京市  海淀區"></c:set>
    <c:out value="${person.address2 }"></c:out>
    <br>


    <c:set target="${person }" property="name2">zhangsan</c:set>
    <c:out value="${person.name2 }"></c:out>
    &nbsp;&nbsp;
    <c:set target="${person }" property="age2">11</c:set>
    <c:out value="${person.age2 }"></c:out>
    &nbsp;&nbsp;
    <c:set target="${person }" property="address2">北京市  海淀區</c:set>
    <c:out value="${person.address2 }"></c:out>
    <br>

    <!-- REMOVE標籤 -->
    <c:out value="REMOVE 標籤用法:"></c:out>
    <br>
    <c:set var="lastName" value="Lily"></c:set>
    <c:out value="${lastName }"></c:out>
    <c:set var="firstName" value="Wang"></c:set>
    <c:remove var="firstName" />
    <c:out value="${firstName }"></c:out>
    <br>


    <!-- CATCH標籤 -->
    <c:out value="CATCH 標籤用法:"></c:out>
    <br>
    <c:catch var="error">
        <c:set target="aa" property="bb">adbscde</c:set>
    </c:catch>
    <c:out value="${error }"></c:out>
    <br>


    <!-- IF標籤 -->
    <c:out value="IF 標籤用法:"></c:out>
    <br>
    <form action="firstDemo.jsp" method="post">
        <input type="text" name="score" value="${param.score }" /> <input
            type="submit" />
    </form>
    <%-- <!-- 優秀score>=90 -->
    <c:if test="${param.score>=90 }" var="result">
        <c:out value="恭喜,您的成績是優秀!"></c:out>
    </c:if>
    <c:out value="${result }"></c:out>
 --%>


    <!-- choose when otherwise 標籤 -->
    <c:out value="choose when otherwise 標籤用法:"></c:out>
    <br>
    <!-- 當輸入的成績大於等於90,小於等於100-優秀 -->
    <!-- 當輸入的成績大於等於80,小於90-良好 -->
    <!-- 當輸入的成績大於等於70,小於80-中等 -->
    <!-- 當輸入的成績大於等於60,小於70-及格 -->
    <!-- 當輸入的成績大於等於0,小於60-不及格 -->
    <!-- 小於0,大於100 -->
    <c:choose>

        <c:when test="${param.score>=90 &&param.score<=100}">
            <c:out value="優秀"></c:out>
        </c:when>

        <c:when test="${param.score>=80 &&param.score<90}">
            <c:out value="良好"></c:out>
        </c:when>

        <c:when test="${param.score>=70 &&param.score<80}">
            <c:out value="中等"></c:out>
        </c:when>

        <c:when test="${param.score>=60 &&param.score<70}">
            <c:out value="及格"></c:out>
        </c:when>

        <c:when test="${param.score>=0 &&param.score<60}">
            <c:out value="不及格"></c:out>
        </c:when>

        <c:otherwise>
            <c:out value="您的輸入有問題"></c:out>
        </c:otherwise>

    </c:choose>
    <br>

    <c:choose>
        <c:when test="${param.score==100} ">
            <c:out value="太棒了,你是第一名!"></c:out>
        </c:when>
    </c:choose>


    <%
        List<String> fruits = new ArrayList<String>();
        fruits.add("apple");
        fruits.add("orange");
        fruits.add("pear");
        fruits.add("watermelon");
        fruits.add("banana");
        fruits.add("grape");
        request.setAttribute("fruits", fruits);
    %>
    <!-- forEach標籤 -->
    <c:out value="forEach標籤用法:"></c:out>
    <br>
    <!-- 用法一:全部遍歷 -->
    <c:forEach var="fruit" items="${fruits }">
        <c:out value="${fruit }"></c:out>
        <br>
    </c:forEach>
    <c:out value="======================================"></c:out>
    <br>
    <!-- 用法二:部分遍歷 -->
    <c:forEach var="fruit" items="${fruits }" begin="1" end="4">
        <c:out value="${fruit }"></c:out>
        <br>
    </c:forEach>
    <c:out value="======================================"></c:out>
    <br>
    <!-- 用法三:部分遍歷並指定步長 -->
    <c:forEach var="fruit" items="${fruits }" begin="1" end="4" step="2">
        <c:out value="${fruit }"></c:out>
        <br>
    </c:forEach>
    <c:out value="======================================"></c:out>
    <br>
    <!-- 用法四:部分遍歷並輸出元素狀態 -->
    <c:forEach var="fruit" items="${fruits }" begin="1" end="4"
        varStatus="fru">
        <c:out value="${fruit }的四個屬性值:"></c:out>
        <br>
        <c:out value="index屬性: ${fru.index }"></c:out>
        <br>
        <c:out value="count屬性: ${fru.count }"></c:out>
        <br>
        <c:out value="first屬性: ${fru.first }"></c:out>
        <br>
        <c:out value="last屬性: ${fru.last }"></c:out>
        <br>
        <c:out value="------------------------"></c:out>
        <br>
    </c:forEach>
    <c:out value="======================================"></c:out>
    <br>
    <!-- forTokens標籤 -->
    <c:out value="forTokens標籤用法:"></c:out>
    <br>
    <c:forTokens items="yao,jia,wei,zhen,bang" delims="," var="num">
        <c:out value="${num }"></c:out>
        <br>
    </c:forTokens>
    <br>
    <br>
    <!-- IMPORT標籤 -->
    <c:out value="IMPORT標籤用法:"></c:out>
    <br>
    <%-- <!-- 導入網絡上的絕對路徑 -->
    <c:catch var="error09">
        <c:import url="http://www.yaojiawei.cc"></c:import>
    </c:catch>
    <c:out value="${error09 }"></c:out>
    <br> --%>


    <!-- 導入相對路徑文件 -->
    <c:catch var="error08">
        <c:import url="tt.txt" charEncoding="UTF-8"></c:import>
    </c:catch>
    <c:out value="${error08 }"></c:out>
    <br>

    <!-- var及scope屬性的用法 -->
    <c:catch var="error07">
        <c:import url="tt.txt" var="tt" scope="session" charEncoding="UTF-8"></c:import>
    </c:catch>
    <c:out value="${error07 }"></c:out>
    <br>
    <c:out value="import標籤存儲的tt字符串變量值爲: ${sessionScope.tt }"></c:out>
    <br>

    <!-- context屬性的用法 -->
    <c:catch var="error06">
        <c:import url="/importFile.jsp" context="/AnotherWebProject"></c:import>
    </c:catch>
    <c:out value="${error06 }"></c:out>

    <br>
    <!-- REDIRECT標籤 -->
    <c:out value="REDIRECT標籤用法:"></c:out>
    <br>
    <%-- <c:redirect url="firstDemo.jsp">
        <c:param name="username">yaojiawei</c:param>
        <c:param name="password">123456789</c:param>

    </c:redirect> --%>
    <c:out value="username是${param.username }"></c:out>
    <br>
    <c:out value="password是${param.password }"></c:out>
    <br>

    <!-- URL標籤 -->
    <c:out value="URL標籤用法:"></c:out>
    <br>
    <c:if test="${1<3 }">
        <c:set var="partUrl">aa</c:set>
    </c:if>
    <c:url value="http://localhost:8080/${partUrl }" var="newUrl"
        scope="session"></c:url>
    <a href="${newUrl }">新的URL</a>

    <!-- JSTL常用函數 -->
    <c:out value="JSTL常用函數的使用:"></c:out>
    <br>
    <c:out
        value="“你好, Hello World! ” 字符串中,是否包含 “Hello”:${fn:contains('你好, Hello World! ','Hello') }"></c:out>
    <br>
    <c:out
        value="“你好, Hello World! ” 字符串中,是否包含 “aaaa”:${fn:contains('你好, Hello World! ','aaaa') }"></c:out>
    <br>
    <c:out
        value="“你好, Hello World! ” 字符串中,是否包含 “hello”:${fn:containsIgnoreCase('你好, Hello World! ','hello') }"></c:out>
    <br>
    <c:out
        value="“你好, Hello World! ” 字符串中,是否以“World”結尾:${fn:endsWith('你好, Hello World!','World!') }"></c:out>
    <br>


    <book>冰與火之歌</book>
    <br>
    <c:out value="${fn:escapeXml('<book>冰與火之歌</book>') }"></c:out>
    <br>
    <c:out value="<book>冰與火之歌</book>"></c:out>
    <br>
    <c:out
        value="“你好, Hello World! ” 字符串中,“llo”出現的index值:${fn:indexOf('你好,Hello World!','llo') }"></c:out>
    <br>

</body>
</html>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章