用jstl截取字符串
来源:互联网 发布:四选一数据选择器实验 编辑:程序博客网 时间:2024/05/17 01:35
jstl以前在jsp页面截取字符串时都是用Java表达式,感觉在jsp页面用多了Java表达式不是很好(那时主要是不知道jstl标签怎么去截取字符串,所以就只能用Java表达式了)。今天在网上找了些相关资料,原来jstl标签是可以截取字符串的,主要有两种方法:
一、用jstl原有的标签库中方法(fn函数)
<c:set var="testStr" value="做一个截取字符串长度的测试"
<c:choose>
注:记得要引用标签库
<%@ taglib uri="
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
二、自定义函数
jstl自带的标签有时候可能满足不了我们的需求,这时我们就要用到自定义函数。
新建一个类,定义好所需要的方法:
Java代码:
- 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" 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>
- 用jstl截取字符串
- 用jstl截取字符串
- 用jstl截取字符串
- 用jstl截取字符串
- 用jstl截取字符串
- 用jstl截取字符串
- jstl 截取字符串
- jstl截取字符串
- 使用jstl截取字符串
- jstl截取字符串
- jstl 表达式 截取字符串
- JSTL,STRUCT2标签截取字符串
- jstl 截取字符串的方法
- 利用jstl:functions截取字符串
- jstl-c标签截取字符串
- Jstl取得字符串长度及截取字符串
- EL表达式截取字符串(使用JSTL)
- JSTL截取字符串以及格式化时间
- Spreadsheet::ParseExcel
- 模拟POST传参 并接收返回值
- vc 写win32控制台程序时如何隐藏自身的dos界面
- 在亚联的那些日子里
- (二)ubuntu安装详细步骤
- 用jstl截取字符串
- 分区表及分区索引(18)--结束语
- Javascript 与正则表达式
- ORACLE 函数处理的数据返回值过长 character string buffer too small
- eclipse快速开发方法
- (四)samba配置详细步骤
- SqLite 第三方工具
- getResourceAsStream(String name) name的路径
- Apache配置中ProxyPassReverse指令的含义