c:forEachの文字列操作(転載)

5532 ワード

<c:forEach items="${dataList}" var="item" varStatus="itemStatus">
${fn:substring(item.STORE_NAME,0,8)}...
</c:forEach>

前の8文字を切り取り、後の文字を点で代用し、ネット上ではcssスタイルで実現するが、ブラウザをまたぐ面で問題がある.
JSTL対Stringの共通操作API
アプリケーション開発で一定の長さの文字列を切り取り、内容が長すぎる場合は一定の長さの文字列を切り取り、「...」を補足します.jstl1.1はfnを導入する.tldのラベルで、文字を処理します.文字length, substring, indexof, endWith, lowcaseを取得すると、切り取り文字列は次のように実現される.
<c:set var="log.logTitle" value="             "
<c:choose>
	<c:when test="${fn:length(log.logTitle) > 10}">
		<c:out value="${fn:substring(log.logTitle, 0, 10)}......" />
	</c:when>
	<c:otherwise>
		<c:out value="${log.logTitle}" />
	</c:otherwise>
</c:choose>

一定の長さの文字列を切り取る
JSTLは、式を使用してページのコードを簡略化します.これは、beanのgetter/setterメソッド、要求パラメータまたはcontext、sessionのデータへのアクセスなど、いくつかの標準的なメソッドに便利ですが、実際のアプリケーションでは、文字列のlengthメソッドを呼び出して文字列の長さを取得する場合など、ページ呼び出しオブジェクトのいくつかのメソッドが必要になります.従来の開発では,オブジェクトをStringクラスに変換してlengthメソッドを呼び出す必要があり,このようなコードは煩雑で誤りやすい.
そのためJSTLには文字列操作のためのいくつかの方法が内蔵されており、直接式で使用することができ、コードを大幅に簡略化し、コードの可読性を提供しています.JSTLの表現Yesでは、${ns:methodName(args....)}などの形式の関数を使用します.
これらの関数を使用する前に、JSPに標準関数を導入しなければならないという宣言は、文字列に別の文字列

JSTL



containsが まれているかどうかを する が の ( と に なく)を むかどうかを するcontainsIgnoreCase が の で わるかどうかを するendsWithは、いくつかの をXML に します.たとえば、< は<escapeXmlに する があります.${fn:escapeXml(param:info)}サブストリング ストリングに れる indexOf${fn:indexOf(name, "-")} のデータを しい に し、 した を してjoinを きます.${fn:join(array, ";")} の さ、または のサイズlength${fn:length(shoppingCart.products)} で された replace${fn:replace(text, "-", "•")} を に ってsplit${fn:split(customerNames, ";")} があるサブ で まるかどうかを するstartsWith サブストリングsubstring${fn:substring(zip, 6, -1)}ある の から まるサブストリングsubstringAfterを する${fn:substringAfter(zip, "-")} からある の までのサブストリングsubstringBeforeを する${fn:substringBefore(zip, "-")}から toLowerCase${fn.toLowerCase(product.name)}から toUpperCase${fn.UpperCase(product.name)} の のスペースを trim${fn.trim(name)}