页面使用时:
<s:bean name="com.hwtt.rbt.user.bean.CutStringBean" id="cutString">
<s:param name="str" value="singerName"/>
<s:param name="hold" value="3"/>
<s:property value="formatStr"/>
</s:bean>
工具类:
public class CutStringBean {
private String str;//要格式化的字符串
private int hold;//保留的长度
private String end;//结束符
private String formatStr;//格式化后的字符串
private static final String END = "..";
public CutStringBean() {
}
public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
}
public int getHold() {
return hold;
}
public void setHold(int hold) {
this.hold = hold;
}
public String getEnd() {
return end;
}
public void setEnd(String end) {
this.end = end;
}
public String getFormatStr() {
formatStr = getShortStr(str, hold, end);
return formatStr;
}
public void setFormatStr(String formatStr) {
this.formatStr = formatStr;
}
/**
* 将字符串缩短到指定长度,且与结束符结束
*
* @param str
* @param hold 保留的长度
* @param end 结束字符串,为空则为“..”
* @return String
*/
public String getShortStr(String str, int hold, String end) {
if (str == null || hold < 1) return "";
str = str.trim();
if (hold > str.length()) return str;
// int length = (hold % 2) != 0 ? hold - 1 : hold;
end = end == null ? END : end;
int abc123Size=0;//数字和字母个数
if (str.length() > hold){
for(int i=0;i<hold;i++){
if(java.util.regex.Pattern.matches("[a-zA-Z0-9]",""+str.charAt(i))){ //判断数字或字母时增1
abc123Size++;
}
}
int tempHold = hold;
int twoAbc123=0;
for(int i=tempHold;i<tempHold+abc123Size && i<str.length();i++){
if(java.util.regex.Pattern.matches("[a-zA-Z0-9]",""+str.charAt(i))){ //如果是数字或字母时长度增1
hold++;
}else if(twoAbc123 == 1){//一个中文需要两个数字或字母
hold++;
twoAbc123=0;
}else{
twoAbc123++;
}
}
return hold >= str.length() ? str : str.substring(0, hold) + end;
}
return str;
}
}
分享到:
相关推荐
综上所述,JSP 页面中进行字符串截取可以通过多种方式实现,包括直接使用 Java 的 `String` 类方法、EL 表达式、JSTL 标签库以及 JavaScript。根据实际需求和项目结构,选择最适合的方法进行字符串处理。在学习过程...
本篇文章将详细探讨如何在JSP中处理在线编辑器的字符串截取问题。 首先,我们需要理解在线编辑器的工作原理。在线编辑器如CKEditor、TinyMCE等,允许用户以所见即所得的方式编辑内容,并将HTML格式的数据发送到...
在这个特定的场景中,"jsp页面字符串截取,点击弹出弹出层"是一个常见的交互需求,通常涉及到前端的JavaScript操作和后端的JSP处理。 首先,字符串截取是编程中的基本操作,无论是在Java还是JavaScript中。在JSP...
从中截取字符串.asp 从中截取字符串 切分字符串.asp 切分字符串 删除字符串前后导空格.asp 删除字符串前导空格.asp 删除字符串后导空格.asp 反向截取字符串.asp ...
例如,我们可以创建一个名为`UFunction`的类,定义一些自定义函数,如`getLen`函数用于获取字符串的长度,`substr`函数用于截取字符串的一部分。 ```java package com.uisk.util; / * 定义 EL自定义函数 */ ...
### 字符串的截取与全选并删除功能解析及示例代码 #### 一、字符串的截取 在Web开发中,经常会遇到文本数据过长的问题,这不仅影响页面的美观,还可能导致布局错乱。为了提升用户体验,通常会采用截取字符串的方式...
### 直接截取JSTL长度控制字符串长短 在Java Web开发中,JSTL(JavaServer Pages Standard Tag Library)是一种常用的标签库,它提供了一系列功能强大的标签,用于简化JSP页面的开发过程。其中,`<fn:substring>`是...
4. **JavaScript字符串函数**:在前端处理中,JavaScript的字符串函数非常关键,例如trim()去除空白,substring()截取子串,replace()替换字符,split()分割字符串等。这些函数在处理上传文件名、路径或者错误信息时...
在本篇内容中,我们将深入探讨如何在JSP(JavaServer Pages)中实现对字符串长度的限制,这对于处理页面上过长的文本内容非常有用。文章通过一个具体的示例来展示这一过程,不仅包含了必要的代码片段,还涉及了JSP与...
该方法能够确保在截断中文字符串时不会出现乱码,并且可以适用于JSP页面中的中文字符串截取需求。 #### 方法实现 ```java /** * 截取字符串,len为字节长度 * @param str 需要截取的字符串 * @param len 字节...
这个示例展示了如何在JSP页面中使用这些函数,例如计算字符串的长度、查找子字符串、转换大小写、截取子字符串等。 总之,`functions`标签库为JSP开发者提供了便利的字符串操作工具,使得在页面中处理字符串变得...
在IT行业中,JSTL(JavaServer Pages Standard Tag Library)是一种标准标签库,它提供了许多预定义的标签,...通过学习和应用JSTL的字符串截取功能,开发者能够更高效地处理和展示数据,提高代码的可读性和可维护性。
109.使用特定字符串对一个字符串进行分割? 110.格式化输出数字和字符? 111.生成一定范围的随机数? 112.调用其它应用程序? 113.禁止列出站点文件目录? 114.防止用户直接输入文件名访问JSP? 115.防止表单重复提交? 116...
这可能涉及到Servlet的HTTP响应处理,将图像数据编码为Base64字符串或转化为JPEG/PNG等常见格式后再通过HTTP响应发送。 5. **安全性和权限**:由于涉及到服务器端资源的访问,开发者需要确保只有授权的用户或服务能...
截取字符串的一部分。可以指定起始位置和长度。例如: ```jsp ${fn:substring('Hello World', 0, 5)} <!-- 输出:Hello --> ``` 5. **fn:substringAfter** 返回在指定字符后的字符串部分。如: ```jsp ${fn:...
以上是对JSP程序设计复习重点的详细解析,涵盖了JSP开发环境、字符串处理、表单提交中文信息处理、JAVABean分类及特点、Servlet生命周期、Servlet与JSP的区别、JSP处理过程以及JSP指令标识等内容。希望对学习JSP技术...
- `stringA.substring(2, 6)`: 截取字符串中从索引2到5之间的子串。 40. **数学计算**: - 提供了一系列数学常量和函数,如圆周率、平方根、最大值、次方、四舍五入等。 41. **日期时间操作**: - `var today = ...