WEB系统截取字符串的几种方法
在做WEB系统的时候,经常要涉及到截取字符串的问题,比如首页新闻的长度。现在提供几种JAVA方面的字符串截取方法,这些方法来源于网络,我只是做一些总结的工作。
1.最好用的方式是用JSTL提供的标签fn,用fn配合c标签可以很好的控制字符串长度:例子如下
2.采用自定义EL函数或者自定义标签:这种情况下往往是因为默认的fn标签不能够满足程序需求,可以用自定义EL函数:例子如下:
开发步骤:
1、 添加实现静态方法
2、 添加标签库描述符tld文件(Tag Library Descriptor),在其中注册该静态方法
3、 在JSP页面导入标签库(不用再Web.xml中说明tld的位置,servlet容器可自动搜索tld文件,因此可打包成jar文件)
<%@taglib uri="http://blog.csdn.net/xxd851116" prefix="fnx" %>
注意:
(1) 此处的uri和tld文件中的uri必须相一致,这个不用说明吧?哈哈。
(2) prefix是函数使用前缀。
4、 页面使用,超级简单!
view plaincopy to clipboardprint?
${fnx:abbreviate("要截取的源字符串", "字节长度", "尾部追加字符")}
${fnx:abbreviate("要截取的源字符串", "字节长度", "尾部追加字符")}
5、 测试结果
【代码】
【结果】
a
a我b
a我b是
a我b是c
a我b是c,
a我b是c,中d
a我b是c,中d国
a我b是c,中d国e
a我b是c,中d国e人f
...
...
a我...
a我b...
a我b是...
a我b是c...
a我b是c,中...
a我b是c,中d...
a我b是c,中d国...
a我b是c,中d国e人f
3.修改fn标签的内容,这种情况下往往是因为和第二点相同的情况或者fn对中文支持不是很好,例子如下:
最后一段是自己加的方法。
和在fn.tld 中增加了
在把编译后的Functions.class 文件去替换 jstl1.2.jar解压后的相应位置的Functions.class 和 fn.tld 文件 再做成Jar包就可以用了(做成Jar包的方法,按解压出来的目录不变,替换以后,打个zip 包,修改后缀为jar 就可以了这种方法比较方便)
在页面中使用就是
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
${fn:cutString(product.enDesc ,15) }
这里也提供做好了的jstl1.2.jar文件,不用自己再去改了
4.用JS实现截取字符串,这种情况是不推荐的,不过介绍一下:
5.用CSS截取字符串,这种方式应该说应用范围不广,因为好像只支持IE(不知道对不对)
- 上一篇:没有了
- 下一篇:没有了