最近项目中需要对数据做拆分处理的问题,于是乎选择用fn:split、c:forTokens等对数据进行拆分
此处以split为例说明
1、当我们以一个字符作为分隔符的时候,我们会发现,功能很强大,拆分的数据也很正确
如:${fn:split('a;b;c',';')} 我们会得到 a b c
2、但当我们用多个字符作为分隔符的时候 ,问题就产生了
如:对'a!@#b#@!c!@#d'这串字符做分割处理
我们先用!@#
${fn:split('a!@#b#@!c!@#d','!@#')} ,数组循环后结果为 a b c d
然后我们用#@!
${fn:split('a!@#b#@!c!@#d','#@!')} ,数组循环后结果为 a b c d
我们发现得到的结果是一样的
3、我们用replace对其操作,会发现结果大大不同
${fn:replace('a!@#b#@!c!@#d','!@#',' ')} ,结果为 a b#@!c d
${fn:replace('a!@#b#@!c!@#d','#@!',' ')} ,结果为 a!@#b c!@#d
4、解决办法
那我们如何区分这种混合的情况呢,可能您现在已经想到了,那就是:
先用另外的字符替换#@!,如%^,分成数组后,在对此数组进行forTokens 的遍历分割
代码如下:
<c:set var="replacedAbs" value="${fn:replace('a!@#b#@!c!@#d','#@!','%^')}"/>
<c:forTokens items="${replacedAbs}" delims="!@#" var="splitAbs">
${splitAbs }。<br>
</c:forTokens>
5、总结
c:forTokens、split 在以分隔符切分数据时,是以单个字符分的
replace与之不同,replace在替换多字符时是连续的
分享到:
相关推荐
3. **调整类加载顺序**:在某些容器(如Tomcat)中,可以通过调整Web应用的`WEB-INF/lib`目录下JAR包的顺序来影响类加载器的加载顺序,但这种方法并不推荐,因为它是不稳定的解决方案。 4. **使用模块化或组件化**...
需要注意的是,虽然移除`xml-apis-1.x.x.jar`通常可以解决问题,但在某些情况下,你的应用程序可能依赖于这个库的特定功能。因此,在移除前,应确保其他依赖项不会因此受到影响。如果应用有其他库也引用了XML解析器...
在web项目中使用JSTL标签,JSTL 1.0 的声明是 <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core " %> 所使用的web应用服务器resin与tomcat有所区别 resin\lib目录下存在jstl-1.2.jar、jta-101.jar包 而...
**JSTL标签库及其使用方法** JavaServer Pages Standard Tag Library(JSTL)是Java社区为简化JSP页面开发而推出的一个标准标签库。它提供了丰富的功能,如迭代、条件判断、XML处理、国际化等,使代码更加简洁、易...
JSTL>>>JSTL>>>JSTL>>>JSTL>>>JSTL>>>JSTL>>>JSTL>>>JSTL>>>JSTL>>>JSTL>>>JSTL>>>JSTL>>>JSTL>>>JSTL>>>JSTL>>>JSTL>>>JSTL>>>JSTL>>>JSTL>>>JSTL>>>JSTL>>>
想起先前看到的一个知识点:tomcat 6 实现了 servlet 2.5 和JSP2.1的规范相应的 tomcat 5 实现的是 2.4和2.0,想到tomcat5不支持JSTL1.2,于是替换JSTL1.1的包试试看后,问题解决 解决方法:移出工程lib目录中的...
- 如果上述两种方法都无法解决问题,还可以考虑修改服务器的相关配置,确保服务器能够正确处理不同字符编码的请求。 - 例如,在Tomcat服务器中,可以在`server.xml`文件中配置Connector元素的URIEncoding属性: `...
相比之下,JSTL1.0是在JSP 1.2规范下开发的,它不包含对EL的原生支持,这意味着在JSTL1.0中,开发者可能需要更多地依赖脚本来处理数据绑定。`standard1.0.jar` 和 `jstl1.0.jar` 分别是JSTL1.0的标准标签库实现和...
反正那样做的可以用的),资源里还有很多帮助文档:javax.servlet.jsp.jstl-1.2.1-javadoc.jar,javax.servlet.jsp.jstl-1.2.1-sources.jar,javax.servlet.jsp.jstl-api-1.2.1-javadoc.jar,javax.servlet.jsp.jstl...
2. **jstl-impl-1.2.jar**:这是JSTL的实现库,包含了实现JSTL API的具体类和方法。在运行时,Web应用程序需要这个库来执行JSTL标签的功能。它包括核心库(core)、SQL库(sql)、XML库(fmt、func、tagext)等几个...
这个压缩包文件可能包含了关于JSTL的详细帮助、手册和文档,帮助开发者理解和使用JSTL进行高效开发。 JSTL主要由以下几个核心部分组成: 1. **Core标签库**:这是JSTL最基础的部分,包含了一系列处理页面流程控制...
总结来说,JSTL是JSP开发中不可或缺的一个工具,它通过提供一套强大的标签库,简化了JSP页面的编程,提高了开发效率和代码质量。通过学习和掌握JSTL,开发者可以更好地驾驭JSP页面,构建出更加高效、易维护的Web应用...
jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2...
包含standard.jar和jstl.jar两个主要的包,所有的tld文件,还有其他不常用的附带文件,以及试验成功的jstl安装配置说明书一份。 jstl-1.1.2版本为2004-10-25发行,到该上传日期之前没有更加新的版本。 该JSTL压缩包...
"ch15"这个文件可能代表了第15章的练习内容,通常会包含多个JSTL应用的示例,比如: - 使用`<c:forEach>`遍历列表并显示元素。 - 利用`<c:if>`和`<c:choose>`进行条件判断。 - 通过`<fmt:formatDate>`格式化日期。 -...
`JSTL笔记.txt`可能包含了学习者在实践中遇到的问题、解决方案以及一些实用技巧。这是一份宝贵的资源,可以作为学习JSTL的辅助材料。 总结,JSTL通过提供一系列标签和表达式语言,大大简化了JSP页面的编写,提高了...
同时,JSTL不支持所有的Java语言特性,因此在某些情况下,可能还需要结合使用Java脚本。 总的来说,JSTL和Standard库是Java Web开发中的重要工具,它们极大地简化了JSP页面的编写,提高了代码质量。对于开发人员来...
JSTL通过提供无脚本的解决方案,减少了对JSP页面中嵌入Java代码的依赖。例如,使用`<c:if>`和`<c:choose>`,可以将清单1中的scriptlet替换为更清晰的结构: ```jsp ${user.role == 'member'}"> <p>Welcome, ...
这是英文版本的JSTL帮助手册,对于深入理解JSTL的高级特性或者查找特定问题的解决方案非常有帮助,尤其是对于英文能力较好的开发者。 **JSTL 入门 IBM文档.chm**: IBM作为知名的IT企业,其提供的文档通常具有权威...
- JSTL 有多个版本,如 1.0、1.1、1.2 和 1.3,其中 1.2 是最常用的一个。 - 使用 JSTL 需要引入 javax.servlet.jsp.jstl-api 和 jstl 实现库,如 tomcat-jstl.jar。 6. **与 EL(Expression Language)的配合** ...