c:forEachの文字列操作(転載)
<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)}