jstl标签可以拦截字符串。主要有两种方法:
<c:set var="testStr" value="做一个截取字符串长度的测试"
<c:choose>
<c:when test="${fn:length(testStr) > 10}">
<c:out value="${fn:substring(testStr, 0, 10)}......"/>
</c:when>
<c:otherwise>
<c:out value="${testStr}"/>
</c:otherwise>
</c:choose>
注意:记得引用jstl标签库
有时候jstl自带的标签可能不能满足我们的需求。这时候,我们就需要使用自定义函数了。创建一个新类并定义所需的方法:
package com.uisk.util;
/**
* 定义EL自定义函数
*
*/
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" 前缀="c"%>
<%@ taglib uri="/WEB-INF/mytag.tld" 前缀="myTag" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 过渡//EN">
<html>
<正文>
<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))
</正文>
</html>
以上就是关于“教你使用JSTL截取字符串”的介绍,大家如果想了解更多相关知识,可以关注一下极悦的JSTL标签库教程,里面有更丰富的知识等着大家去学习,相信对大家一定会有所帮助的。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习