1. ホーム
  2. Web プログラミング
  3. XML/RSS
  4. WMLチュートリアル

JSTL文字列処理関数

2022-01-17 18:15:47

JSTL では、ページ上のコードを簡略化するために式を使用します。これは、ビーンゲッター/セッターメソッドやリクエストパラメータ、あるいはコンテキストやセッションデータへのアクセスなど、いくつかの標準的なメソッドでは非常に便利ですが、実際にはページ上のオブジェクトのいくつかのメソッドを呼び出す必要がよくあります。たとえば、文字列の長さを取得するために stringメソッドを呼ぶ必要がありますが、以前はオブジェクトを Stringクラスに変換してからその lengthメソッドを呼ぶ必要がありましたが、面倒でエラーが発生しやすいという欠点があります。

そこで、JSTLでは、文字列操作のためのいくつかの組み込みメソッドを用意し、式の中で直接使用できるようにして、コードを大幅に簡素化し、読みやすさを提供しています。JSTL 式の中で関数を使うには、次のような形式になります。

<スパン ns:methodName(args......)}を指定します。

これらの関数を使用する前に、JSPで標準関数宣言を導入する必要があります。

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

以下は、JSTLに付属するメソッドとその説明の一覧です。

<テーブル <フォント 機能名 <フォント 機能説明 <フォント 使用例  が含まれています。 ある文字列が他の文字列を含むかどうかを判定する <c:if test="${fn:contains(name, searchString)}">  イグノアケース ある文字列が他の文字列を含むかどうかを判定する(大文字小文字を区別しない) <c:if test="${fn:containsIgnoreCase(name, searchString)}">  エンドウィズ ある文字列が他の文字列で終わっているかどうかを判定する <c:if test="${fn:endsWith(filename, ".txt")}">  エスケープXml 一部の文字をXML表現に変換します。例えば、<文字は&ltに変換します。 ${fn:escapeXml(param:info)}のようになります。  インデックスオブ 親文字列における部分文字列の位置 ${fn:indexOf(name, "-")}となります。  加わる 配列のデータを指定された文字グリッドで新しい文字列に結合します。 ${fn:join(array, ";")}となります。 <フォント  長さ 文字列の長さ、または配列の大きさを取得します。 ${fn:length(shoppingCart.products)}となります。 <フォント  置き換える <フォント 文字列中の指定された文字を置き換える ${fn:replace(text, "-", "&#149;")}.  スプリット 指定した文字で文字列をスライスする ${fn:split(customerNames, ";")}となります。  スタートウィズ ある文字列が特定の部分文字列で始まるかどうかを判定する <c:if test="${fn:startsWith(product.id, "100-")}"> <フォント  部分文字列 部分文字列の取得 ${fn:substring(zip,6,-1)}となります。  サブストリングアフター

ある文字の位置から始まる部分文字列を取得する

${fn:substringAfter(zip, "-")}となります。 <フォント  部分文字列の前 先頭からある文字の位置までの部分文字列を取得する ${fn:substringBefore(zip, "-")}となります。 <フォント  小文字 小文字に変換する ${fn.toLowerCase(product.name)}となります。 <フォント  大文字小文字 大文字に変換する ${fn.UpperCase(product.name)}となります。 <フォント  トリム 文字列の前後の空白を削除する ${fn.trim(name)}となります。