JSTL
JSTLでは、条件文、重複文などをタグ形式で使用できます.ELと一緒に使うと、より強力になります.JSTLについて知ります.
JSTLとは? JSP Standard Tag Library JSPページでは、htmlタグで条件文処理、重複文処理などを記述できます.
JSTLが提供するタグタイプ
最も重要なのはコアラベル機能 JSTL優先パラメータ http://tomcat.apache.org/download-taglibs.cgi 上のサイトから3つのjarファイルをダウンロードし、WEB-INF/lib/フォルダにコピーします.
認識できない場合は、 コアラベル
接頭辞 論理フローのタグ付けに役立ちます. URLコンテンツの読み取りと出力機能. 変数サポートラベル-set,removescope格納/削除値.
実習JSTL. 例 removeは値を提供しません. 変数サポートラベル-構成、マッピングの処理Propertyって何? getter setterメソッドは、オブジェクトの値または取得値を変更するために使用されます. setタグは、パラメータを特定の方法に渡すこともできる. 上記のラベルにより、以下の方法が実行される. フロー制御ラベル-if
実習満たされた条件文のみを実行します. フロー制御ラベル-choose
if-else構文に類似しています. 実習配列および集合に格納された要素を順番に抽出することができる. for文は開始と終了を繰り返すことができる itemsは[beginからend]の周りに変数varを入れます. []-省略可能 実習特定のURLページの結果を取得し、変数に保存します. タグは、URLの後ろにクエリー文を付けます. 実習
実習表示ページをリフレッシュします. その他のラベル-out
特定の文字列を出力できます. value:実際のライタに出力する値(文字列) escapeXml:デフォルトtrue default:valueが存在しない場合にデフォルトを指定
JSTLとは?
JSTLが提供するタグタイプ
cmd + ;
にライブラリを追加します.c:
です.実習
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<c:set var="value1" scope="request" value="kang"></c:set>
<html>
<head>
<title>Title</title>
</head>
<body>
성 : ${requestScope.value1} <br>
<c:remove var="value1" scope="request"/> <!--단일태그 가능-->
성 : ${requestScope.value1} <br>
</body>
</html>
성 : kang
성 :
<c:if 조건>
実習
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--<%--%>
<%-- request.setAttribute("n", 10);--%>
<%--%>--%>
<c:set var="n" scope="request" value="10"/>
<!-- 위에 둘 다 같은 코드이다-->
<html>
<head>
<title>Title</title>
</head>
<body>
<c:if test="${n == 0}">
n과 0은 같습니다.
</c:if>
<c:if test="${n == 10}">
n과 10은 같습니다.
</c:if>
</body>
</html>
n과 10은 같습니다.
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
request.setAttribute("score", 83);
%>
<html>
<head>
<title>Title</title>
</head>
<body>
<c:choose>
<c:when test="${90 <= score}">
A학점입니다.
</c:when>
<c:when test="${80 <= score}">
B학점입니다.
</c:when>
<c:when test="${70 <= score}">
C학점입니다.
</c:when>
<c:when test="${60 <= score}">
D학점입니다.
</c:when>
<c:otherwise>
F학점입니다.
</c:otherwise>
</c:choose>
</body>
</html>
B학점입니다
フロー制御ラベル-forEach<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
List<String> list = new ArrayList<>();
list.add("hello");
list.add("world");
list.add("!!!!");
request.setAttribute("list", list);
%>
<html>
<head>
<title>Title</title>
</head>
<body>
<c:forEach items="${list}" begin="1" var="item">
${item}<br>
</c:forEach>
</body>
</html>
フロー制御ラベル-import<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:import url="http://localhost:8080/firstweb_war/jstlValue.jsp" var="urlValue" scope="request"/>
<c:import url="https://google.co.kr" var="google" scope="request"/>
<html>
<head>
<title>Title</title>
</head>
<body>
${urlValue}
${google}
</body>
</html>
フロー制御ラベル-redirect実習
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:redirect url="http://localhost:8080/firstweb_war/jstl05.jsp"/>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<c:set var="t" value="<script type='text/javascript'>alert(1);</script>"/>
<c:out value="${t}" escapeXml="true"/> //자바스크립트 해석하지 않고 그냥 문자열로 뜬다.
${t} //팝업으로 뜬다
</body>
</html>
Reference
この問題について(JSTL), 我々は、より多くの情報をここで見つけました https://velog.io/@yeawonbong/JSTLテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol