JSTLタグライブラリ
JSTL は通常、単一のタグ ライブラリであると考えられます。しかし、JSTL には実際には 4 つのタグ ライブラリがあります。これらのタグ ライブラリは次のように要約されます。
コア タグ ライブラリ - Web アプリケーションに必要なタグがいくつか含まれています。コア タグ ライブラリの例には、ループ、式の代入、基本的な入出力などがあります。 。
フォーマット/国際化タグ ライブラリ - データの解析に使用されるタグ ライブラリが含まれています。このタグは、日付、さまざまな会場エリアなどのデータを解析します。
データベース タグ ライブラリ - SQL データベースへのアクセスに使用されるタグが含まれています。これらのタグは通常、プロトタイプ プログラムのみを作成します。これは、ほとんどのプログラムが JSP ページからのデータベース アクセスを直接処理しないためです。データベース アクセスは、JSP ページからアクセスできる EJB に埋め込む必要があります。
XML タグ ライブラリ - XML 要素にアクセスするために使用されるタグが含まれています。 XML は Web 開発で広く使用されているため、XML 処理は JSTL の重要な機能です。
この記事では、コアタグについてのみ簡単に説明します。ユーザーがフォームに入力したデータを処理する方法の簡単な例を見ていきます。プログラムのチェックを開始する前に、まず JSTL が式をどのように処理するかを確認する必要があります。JSTL の式処理は、JSP2.0 でのみ使用できる EL 式言語を使用して行われます。次のセクションでは、EL 式言語について調べます。
EL 表現言語
JSP 2.0 の主要コンポーネントは、EL と呼ばれる新しい式言語です。 EL は JSTL で広く使用されています。ただし、EL は JSP の機能であり、JSTL ではないことに留意することが重要です。 JSP 2.0 で使用される JSP スクリプトレット コードには EL 式を含めることができます。次のコード行は、JSP スクリプトレット コードでの EL を示しています:
<p>
送料を含む合計金額は ${合計+送料} です
</p>
ご覧のとおり、合計と送料を追加すると HTML が生成され、その値がブラウザに表示されます。これらの式は JSTL タグでも使用できます。 JSTL1.0 の重要な問題は、JSTL を JSP1.2 バージョンでは使用できないことです。 JSP1.2 は EL をサポートしていないため、EL の使用を容易にするためにいくつかの追加の JSTL タグを提供する必要があります。たとえば、JSTL を使用して上記の式を表示したい場合は、次のコードを使用できます。
<p>
送料を含む合計金額は <c:out var="${total+shipping"/> です
</p>
JSTL の実行に JSP2.0 が必要ないことは注目に値します。この要件は、EL 式を表示するラベルを提供することで実現できます。
JSTL の例 JSTL を使用した簡単な例を見てみましょう。この例では、Web アプリケーションの一般的なプロセスを調べます。フォームを送信 (POST) し、POST の結果を処理する方法を見ていきます。プログラムコードは次のとおりです。
<%@ taglib uri=" http://java.sun.com/jstl/core " prefix="c" %>
<html>
<頭>
<title>本文がある場合</title>
</head>
<body>
<c:if test="${pageContext.request.method=='POST'}">
<c:if test="${param.guess=='Java'}">ご想像のとおりです。
<br />
<br />
<br />
</c:if>
<c:if test="${param.guess!='Java'}">あなたは間違っています
<br />
<br />
<br />
</c:if>
</c:if>
<form method="post">コンピュータ言語を推測してください
私は考えていますか?
<input type="text" name="推測" />
<input type="submit" value="試してください!
"
</form>
</body>
</html>
この単純な Web ページには、プログラムが想定しているコンピュータ言語をユーザーに推測するよう求めるフォームが表示されます。もちろん、コンピュータは「Java」を考えています。このページは「送信済みかどうか」を確認することから始まります。これにより、フォームとフォームを処理するコードを同じページに配置できるようになります。これは、次の JSTL if ステートメントによって実現されます。
<c:if test="${pageContext.request.method=='POST'}">
<c:if> タグは EL 式を使用してリクエスト メソッドが POST であるかどうかを判断していることがわかります。データがページに投稿されると、ユーザーが入力した推測は「guest」と呼ばれるパラメーターに保存されます。これは、「guest」がフォーム入力の名前であるためです。次に、このパラメータが「Java」と等しいかどうかを確認する必要があります。これは、次の <c:if> タグによって実現されます:
<c:if test="${param.guess=='Java'}">
ご想像どおりでしたね!
</c:if>
ご覧のとおり、式が true の場合、<c:if> タグの本体が実行されます。この記事では、JSTL がどのようにインストールされ、どのように動作するかを検討し、誰もが理解できるようにいくつかの小さな JSTL の例も提供しました。
JSTL のコア タグには、ループ、イテレータ、変数処理も含まれます。タグを使用すると、コレクション内で反復処理を行ったり、ユーザーのセッション データにアクセスしたり、他の主要なタスクを実行したりすることができます。コアのタグ ライブラリに加えて、XML、データベース、およびフォーマット タグ ライブラリも、より高度な用途を提供します。
(了)
注: ここでは EL 式言語を EL 式言語に翻訳しますが、一部は EL 式言語に翻訳しますが、意味は同じです。
Caiyi0903(Willpower) 翻訳、2004.2.19