JSTL 縮寫為 Java Standard Tag Library,它是 JSP(Java Server Pages)的進一步擴展。 JSTL 減少了開發人員的程式碼行數。此 JSTL 支援結構任務、條件任務和迭代等常見任務。這些標籤用於更改 I18N(國際化)標籤、SQL 標籤、XML 文件等。這也提供了一個框架,用於附加 Java 標準標籤庫中已有的自訂標籤。
開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
JSTL的優點:
- 快速發展。
- 程式碼可重用性。
- 無需使用 scriptlet 標籤。
JSTL 在 Java 中如何運作?
JSTL 的工作原理是基於我們在應用程式中使用的標籤類型。它由大約 5 種類型的標籤組成。他們是
- 核心標籤
- 函數標籤
- 格式化標籤
- XML 標籤
- SQL 標籤
JSTL 標籤說明:
Tag Type |
Description |
URI to include |
prefix |
Core tags |
The JSTL core tag provides flow control, variable support, URL management etc. |
http://java.sun.com/jsp/jstl/core |
c |
Function tags |
This function tag is used for String manipulation and
String length |
http://java.sun.com/jsp/jstl/
functions |
fn |
Formatting tags |
This formatting tag is used for number, date and message formatting |
http://java.sun.com/jsp/jstl/fmt |
fmt |
XML tags |
This XML tag is used for transformation and flow control etc. |
http://java.sun.com/jsp/jstl/xml |
x |
SQL tags |
This SQL tag is used to provide support for SQL support. |
http://java.sun.com/jsp/jstl/sql |
sql |
標籤類型
描述
要包含的 URI
前綴
核心標籤
JSTL核心標籤提供流控制、變數支援、URL管理等
http://java.sun.com/jsp/jstl/core
c
函數標籤
此函數標籤用於字串操作和
字串長度
http://java.sun.com/jsp/jstl/
功能
fn
格式化標籤
此格式標記用於數字、日期和訊息格式
http://java.sun.com/jsp/jstl/fmt
fmt
XML 標籤
此XML標籤用於轉換和流程控制等
http://java.sun.com/jsp/jstl/xml
x
SQL 標籤
此SQL標籤用於提供SQL支援。
http://java.sun.com/jsp/jstl/sql
sql
表>
每個 JSTL 標籤又由不同的子標籤組成。現在我們將介紹一些核心標籤和功能標籤的範例。
注意:使用這些功能;我們必須使用jstl.1.X.jar 檔案。 X 表示版本。
範例
以下是範例:
eclipse 中的專案結構:
範例 #1 – 核心標籤 c:out
代碼:NewFile.jsp
1 2 3 4 5 6 7 8 9 10 | <%@ taglib uri= "http://java.sun.com/jsp/jstl/core" prefix= "c" %>
<html>
<head>
<title>JSTL Tags</title>
</head>
<body>
<!--THis c:out tag is used for displaying output-->
<c:out value= "${'Hello Amardeep, Wel come to EDUCBA online courses.'}" />
</body>
</html>
|
登入後複製
輸出:
範例 #2 – 核心標籤集和 c:if 標籤
代碼:SetCIf.jsp
1 2 3 4 5 6 7 8 9 10 11 12 | <%@ taglib uri= "http://java.sun.com/jsp/jstl/core" prefix= "c" %>
<html>
<head>
<title>JSTL Tags</title>
</head>
<body>
<c:set var = "money" scope= "session" value= "${5000*5}" />
<c: if test= "${money > 8000}" >
<p>My Salary is: <c:out value= "${money}" /><p>
</c: if >
</body>
</html>
|
登入後複製
輸出:
範例 #3 – 帶有 c:choose 標籤的核心標籤
代碼:CChoose.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <%@ taglib uri= "http://java.sun.com/jsp/jstl/core" prefix= "c" %>
<html>
<head>
<title>JSTL Tags</title>
</head>
<body>
<c:set var = "money" scope= "session" value= "${5000*5}" />
<p>Your income is : <c:out value= "${money}" /></p>
<c:choose>
<c:when test= "${money <= 1000}" >
You are paid with good salary.
</c:when>
<c:when test= "${money > 10000}" >
You are paid with really good salary.
</c:when>
<c:otherwise>
You are paid with low salary .
</c:otherwise>
</c:choose>
</body>
</html>
|
登入後複製
輸出:
範例 #4 – 帶有 c:when 標籤的核心標籤
代碼:CWhen.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <%@ taglib uri= "http://java.sun.com/jsp/jstl/core" prefix= "c" %>
<html>
<head>
<title>JSTL Tags</title>
</head>
<body>
<c:set value= "214" var = "digit" ></c:set>
<c:choose>
<c:when test= "${digit%2==0}" >
<c:out value= "${digit} is EVEN digit" ></c:out>
</c:when>
<c:otherwise>
<c:out value= "${digit} is ODD digit" ></c:out>
</c:otherwise>
</c:choose>
</body>
</html>
|
登入後複製
輸出:
範例 #5 – 帶有 c:foreach 標籤的核心標籤
代碼:CForeach.jsp
1 2 3 4 5 6 7 8 9 10 11 12 | <%@ taglib uri= "http://java.sun.com/jsp/jstl/core" prefix= "c" %>
<html>
<head>
<title>JSTL Tags</title>
</head>
<body>
<c:forEach var = "iterator" begin= "100" end = "110" >
Count : <c:out value= "${iterator}" />
<p>
</c:forEach>
</body>
</html>
|
登入後複製
輸出:
範例 #6 – 帶有 c:forTokens 標籤的核心標籤
代碼:CForTokens.jsp
1 2 3 4 5 6 7 8 9 10 11 12 | <%@ taglib uri= "http://java.sun.com/jsp/jstl/core" prefix= "c" %>
<html>
<head>
<title>JSTL Tags</title>
</head>
<body>
<c:forTokens items= "My-Name-is-Nathi-Paramesh" delims= "-" var = "del" >
Word: <c:out value= "${del}" />
<p>
</c:forTokens>
</body>
</html>
|
登入後複製
輸出:
範例 #7 – 帶有 c:redirect 標籤的核心標籤
代碼:CRedirect.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <%@ taglib uri= "http://java.sun.com/jsp/jstl/core" prefix= "c" %>
<html>
<head>
<title>JSTL Tags</title>
</head>
<body>
<c:set var = "urlName" value= "2" scope= "request" />
<c: if test= "${urlName<1}" >
<c:redirect url= "http:/educba.com" />
</c: if >
<!-- Page directly redirect to gmail because value is greater than 1 -->
<c: if test= "${urlName>1}" >
<c:redirect url= "http://gmail.com" />
</c: if >
</body>
</html>
|
登入後複製
輸出:
範例 #8 – 帶有 c:contains 標籤的函數標籤
代碼:FunctionContains.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <%@ taglib uri= "http://java.sun.com/jsp/jstl/core" prefix= "c" %>
<%@ taglib uri= "http://java.sun.com/jsp/jstl/functions" prefix= "fn" %>
<html>
<head>
<title>JSTL Tags</title>
</head>
<body>
<c:set var = "StringType"
value= "We are learning online course from EDUCBA platform" />
<c: if test= "${fn:contains(StringType, 'EDUCBA')}" >
<h1 style= "color: green" >Yes Given String found in the value
</h1>
<p style= "color:blue;border: 1px solid red;font-size:20px" >JSTL abbreviated as Java Standard Tag Library. Which is
further extension for JSP (Java Server Pages). JSTL reduced the lines
of code for developer. This JSTL supports for structural tasks,
common task like conditional and iteration. This tags used for
changing I18N (Internationalization) tags, SQL tags, XML documents
etc. This JSTL also provides a framework for attaching the already
existing custom tags within the Java Standard Tag Library.</p>
</c: if >
<c: if test= "${fn:contains(StringType, 'courses')}" >
<p>No Given String is not found in the value
<p>
</c: if >
</body>
</html>
|
登入後複製
輸出:
範例 #9 – 帶有 c:endsWith 標籤的函數標籤
代碼:CEndsWith.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <%@ taglib uri= "http://java.sun.com/jsp/jstl/core" prefix= "c" %>
<%@ taglib uri= "http://java.sun.com/jsp/jstl/functions" prefix= "fn" %>
<html>
<head>
<title>JSTL Tags</title>
</head>
<body>
<c:set var = "StringType"
value= "We are learning online course from EDUCBA platform" />
<c: if test= "${fn:endsWith(StringType, 'platform')}" >
<h1 style= "color: red" >Yes String ends with platfrom.</h1>
<p style= "color: fuchsia; border: 1px solid red; font-size: 20px" >JSTL
abbreviated as Java Standard Tag Library. Which is further extension
for JSP (Java Server Pages). JSTL reduced the lines of code for
developer. This JSTL supports for structural tasks, common task like
conditional and iteration. This tags used for changing I18N
(Internationalization) tags, SQL tags, XML documents etc. This JSTL
also provides a framework for attaching the already existing custom
tags within the Java Standard Tag Library.</p>
</c: if >
<c: if test= "${fn:endsWith(String, 'are')}" >
<p>String ends with are.
<p>
</c: if >
</body>
</html>
|
登入後複製
輸出:
以上是Java 中的 JSTL的詳細內容。更多資訊請關注PHP中文網其他相關文章!