JSP-简单的练习省略显示长字符串
<%@ page contentType="text/html; charset=gb2312" %> <!-- JSP指令标签 -->
<%@ page import="java.util.*" %> <!-- JSP指令标签 -->
<html>
<head>
<title>长字符串截取演示样例</title>
</head>
<body>
<%!
public static String strTruncate(String source, int len, String delim)
{
// 截取字符串函数,返回处理后的字符串
// 參数说明:source表示须要截断的字符串,
// Len表示要截取的字节数
// delim表示截取后附加在后的字符串
if(source==null)
return null; // 字符串为空不做处理
int start,stop,byteLen;
int alen=source.getBytes().length; // 得到须要截断的字符串的字节数
if(len>0)
{
if(alen<=len)
{// 假设比要截取的字节数还小,不作处理
return source;
}
start=stop=byteLen=0;
while(byteLen<=len)
{
if(source.substring(stop,stop+1).getBytes().length==1)
{// 单字节字符处理
byteLen+=1;
}
else
{// 双字节字符处理
byteLen+=2;
}
stop++;
}
StringBuffer sb=new StringBuffer(source.substring(start,stop-1));
if(alen>len)
{// 增加附加在后的字符串
sb.append(delim);
}
return sb.toString();
}
return source;
}
%> <%
String s1=new String("aaaaaaaaaaaaaaaa");
String s2=new String("bbbbbbbbbbbbbbbbbbb");
String s3=new String("cccccccccccccccccccccc");
out.println("长字符串截取演示样例<br>");
out.println(strTruncate(s1,10,"...")+"<br>");
out.println(strTruncate(s2,5,"...")+"<br>");
out.println(strTruncate(s3,6,"...")+"<br>");
%>
</body>
</html>
当中,strTruncate用来截取字符串,并用指定的字符串附加到处理完后的字符串的末尾。
执行结果如图:
版权声明:本文博主原创文章。博客,未经同意不得转载。
JSP-简单的练习省略显示长字符串的更多相关文章
- css实现文字过长省略显示
.simpleName { width:110px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } <div cl ...
- 转:zTree树控件key配置之title:zTree树节点名称过长如何省略显示且鼠标移入节点上能够显示全称
当树节点的名称有些很长时,全部显示出来显得很拥挤的情况下,我们会想到用省略节点名称来代替,当鼠标移入节点时能够显示该节点的全称.这样我们应该如何做呢? 首先,我们要在树的节点内多增加一个属性用于设置该 ...
- c#打包文件解压缩 C#中使用委托、接口、匿名方法、泛型委托实现加减乘除算法 一个简单例子理解C#的协变和逆变 对于过长字符串的大小比对
首先要引用一下类库:using Ionic.Zip;这个类库可以到网上下载. 下面对类库使用的封装方法: 得到指定的输入流的ZIP压缩流对象 /// <summary> /// 得到指定的 ...
- jsp简单标签开发(一)
孤傲苍狼 @Override22 public void doTag() throws JspException, IOException {23 //得到代表jsp标签体的JspFragment24 ...
- python-原始字符串,长字符串
一 长字符串 在python中要表示跨行多行的字符串,可以使用较为简单粗暴的表达-----三引号.例如: str = ”’那时我们有梦, 关于文学, 关于爱情, 关于穿越世界的旅行. 如今我们深夜饮 ...
- 前端QRCode.js生成二维码(解决长字符串模块和报错问题)
QRCode 用法 1.使用npm安装到你的项目中 npm install qrcode2 --save 使用commonjs或者es6模块方式导入 var QRCode = require('qrc ...
- 13.Python字符串详解(包含长字符串和原始字符串)
简单地理解,字符串就是“一串字符”,也就是用引号包裹的任何数据,比如“Hello,Charlie”是一个字符串,“12345”也是一个字符串. Python 要求,字符串必须使用引号括起来,可以使用单 ...
- Django项目:CRM(客户关系管理系统)--22--14PerfectCRM实现King_admin分页的省略显示
{#table_data_list.html#} {## ————————08PerfectCRM实现King_admin显示注册表的字段表头————————#} {% extends 'king_m ...
- CSS 多行文本溢出省略显示
文本溢出我们经常用到的应该就是text-overflow:ellipsis了,相信大家也很熟悉,但是对于多行文本的溢出处理确接触的不是很多,最近在公司群里面有同事问到,并且自己也遇到过这个问题,所以专 ...
随机推荐
- Qt 4.7.4 完美动态编译发布动态调试,以及静态编译发布
首先是准备工作,去QT主页下载独立的QT类库安装包以及完整QT SDK安装包,还有QT Creator for windows 版 下载地址:http://qt.nokia.com/downloads ...
- Linux下一个简单的日志系统的设计及其C代码实现
1.概述 在大型软件系统中,为了监测软件运行状况及排查软件故障,一般都会要求软件程序在运行的过程中产生日志文件.在日志文件中存放程序流程中的一些重要信息, 包括:变量名称及其值.消息结构定义.函数返回 ...
- java学习笔记06--正则表达式
java学习笔记06--正则表达式 正则表达式可以方便的对数据进行匹配,可以执行更加复杂的字符串验证.拆分.替换等操作. 例如:现在要去判断一个字符串是否由数字组成,则可以有以下的两种做法 不使用正则 ...
- java垃圾回收那点事(二)不同gc策略的heap分配
在前面的文章中曾提到了在java虚拟机启动的时候会对G1,CMS, SerialGC定义不同的heap的类,并且定义不同的policy. CollectorPolicy CollectorPolicy ...
- Android推断程序前后台状态
public class AppStatusService extends Service { private static final String TAG = "AppStatusSer ...
- PV(访问量)、UV(独立访客)、IP(独立IP) (转)
网站统计中的PV(访问量):UV(独立访客):IP(独立IP)的定义与区别今天使用了雅虎统计,看到里面就有这个,就说说,其实里面的uv大家可能觉得很新奇,但是和站长统计里的独立访客是一样的嘛.---- ...
- Java注解全面解析(转)
1.基本语法 注解定义看起来很像接口的定义.事实上,与其他任何接口一样,注解也将会编译成class文件. @Target(ElementType.Method) @Retention(Retentio ...
- 在阿里云的CentOS环境中安装django
购买了一台阿里云主机.操作系统为CentOS 6.5.准备在上面跑Django做Web开发.因为CentOS自带的python版本号较低,安装Django先要安装新版本号python.还是费了点周折. ...
- myeclipse10.7皴,出口解决war包时报“SECURITY ALERT: INTEGERITY CHECK ERROR”
一.操作系统的环境是win7,64bit和32bit的操作系统我试过都OK 依照网上一些Crack破解程序步骤操作就能够完毕破解过程, 也能够到我的CSDN资源里下载文件包 myeclipse10.7 ...
- Yii学习笔记之三(在windows 上安装 advanced )
首先说一下下载地址: http://www.yiiframework.com/download/ 然后将下载下来的文件进行解压到 你指定的文件夹 解压过程中假设报什么错误 直接忽略掉 我的解压文件夹是 ...