jstl截取字符长度处理

本文介绍如何使用JSTL进行字符串处理,并演示了如何创建及调用自定义函数来增强JSP页面的功能,包括字符串长度获取、截取及整数除法等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jstl:

<c:set var="subStr" value="abcdefghijksdf" 
<c:choose>  
    <c:when test="${fn:length(subStr) > 2}">  
        <c:out value="${fn:substring(subStr, 0, 2)}......" />  
    </c:when>  
   <c:otherwise>  
      <c:out value="${subStr}" />  
    </c:otherwise>  
</c:choose> 

 

注:记得要引用标签库

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

 

二、自定义函数

package com.uisk.util;      
     
/**  
* 定义函数  
*/     
public class UFunction {      
     
    /**  
      * 获取一个字符串的长度  
      *  
      * @param str  
      * @return int  
      */     
    public static int getLen(String str) {      
        return str.length();      
     }      
     
    /**  
      * 截取字符串  
      *  
      * @param str  
      * @param start  
      * @param end  
      * @return String  
      */     
    public static String substr(String str, int start, int end) {      
        return str.substring(start, end);      
     }      
     
    /**  
      * 两数相除获取整数结果  
      *    
      * @param first  
      * @param second  
      * @return int  
      */     
    public static int chufa(int first, int second) {      
        return first / second;      
     }      
}   

 

再建一个tld文件放在WEB-INF目录下面对其进行配置:
<?xml version="1.0" encoding="UTF-8"?>      
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"     
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     
     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"     
     version="2.0">      
     <tlib-version>1.0</tlib-version>      
     <short-name>len</short-name>      
     <function>      
         <description>calculate string length</description><!-- 对这个EL方法的描述   -->      
         <name>getLen</name><!-- 调用EL方法的名称 -->      
         <function-class>com.cw.common.UFunction</function-class>      
         <function-signature>      
            int getLen(java.lang.String)      
         </function-signature>      
         <example>${len:getLen(str)}</example><!-- 例如 -->      
     </function>      
     
     <function>      
         <description>substring</description>      
         <name>substr</name>      
         <function-class>com.cw.common.UFunction</function-class>      
         <function-signature>      
             java.lang.String substr(java.lang.String,int,int)      
         </function-signature>      
     </function>      
     
     <function>      
         <description>chufa</description>      
         <name>chufa</name>      
         <function-class>com.cw.common.UFunction</function-class>      
         <function-signature>int chufa(int,int)</function-signature>      
     </function>      
</taglib> 

 

最后进行调用测试:

<%@ page language="java" pageEncoding="gbk"%>      
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>   
<%@ taglib uri="/WEB-INF/mytag.tld" prefix="myTag" %>      
     
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">      
<html>      
   <body>      
     <c:set var="str" value="自定义函数,做一个截取字符串长度的测试"></c:set>      
     字条串"${str}"的长度是${myTag:getLen(str)}<br/>      
     字条串"${str}"截取前5个字符:${myTag:substr(str,0,5)}<br/>      
    5除以3取整数是:${myTag:chufa(5,3) }      
        
   </body>      
</html>    

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值