不得不使用jstl时注意事项

在项目开发的过程中,不得以使用jstl,原因是stuts2不支持for 循环,只支持iterator,因为本人喜欢使用struts2表达式,用jstl的过程中出现了很多细节问题比较闷,比如说我们习惯使用<s:if test=""><:/s:if>很多习惯写法,在<c:if test="">中无效,baidu了不少,还不好解决,后来终于找到了一条合适的方法,就是在 test 条件中 使用fn:函数 去做一些判断
强烈推荐不要使用jstl,用起来不爽,实在不行,请引入下面三个文件(函数库,格式化,核心库),会帮你解决不必须要的问题:
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>



c标签库的使用不做介绍,简单写下不常用的几个

1、c:forTokens
类似于js及java中的split函数,将一个字符串用某个字符分割成数组,然后逐个处理。items是需要处理的原始字符串,delims是分隔符
<c:forTokens var="item" items="www.trs.com.cn" delims=".">
${item }<br/>
</c:forTokens>



2、fmt.tld中比较有用的fmt:parseDate, fmt:formatDate, fmt:parseNumber, fmt:formatNumber,用来格式化时间与数字,例子如下:
<fmt:formatDate value="${item.createdTime }" pattern="yyyy-MM-dd HH:mm" />



3、fn.tld,jstl的函数,其中有
fn:contains 判断一个字符串是否含有另外一个字符串,eg <c:if test="${fn:contains(str, searchString)}">;
fn:containsIgnoreCase 同上面的tag,只是不区分大小写;
fn:endsWith 判断一个字符串是否以某个字串结束,eg <c:if test="${fn:endsWith(filename, ".txt")}">
fn:escapeXml 将字符串转换为没有xml无法识别字符的字符串,eg ${fn:escapeXml(info)}
fn:indexOf 判断某个字符在一个字符串中的位置,eg ${fn:indexOf(name, "-")}
fn:join 同jsjoin,将数组用字符拼接,eg ${fn:join(array, ";")}
fn:length 计算字符串的长度
fn:replace 替换某个字串, eg ${fn:replace(text, "-", "•")}
fn:split join的反过程,eg ${fn:split(customerNames, ";")}
fn:startsWith 是否以某个字串开始, eg <c:if test="${fn:startsWith(product.id, "100-")}">
fn:substring 获取字串,eg ${fn:substring(zip, 6, -1)}
fn:substringAfter 从某个字串开始取字串,eg ${fn:substringAfter(zip, "-")}
fn:substringBefore 上一条的反过程
fn:toUpperCase 把字符串中的字符全部转为大写
fn:trim 去掉字符串两边的空格,eg ${fn.trim(name)}
VS2022命令行编译C++报错?一招解决‘fatal error C1034: iostream: 不包括路径集‘ 本文针对VS2022命令行编译C++时常见的'fatal error C1034: iostream: 不包括路径集'错误,深入剖析了其根源在于环境变量缺失。文章提供了永久配置用户环境变量(PATH、INCLUDE、LIB)的一劳永逸解决方案,确保在任何终端中都能直接使用cl命令进行编译,并给出了进阶配置与常见错误排查指南。 阅读详情

相关推荐

地平线Matrix-Client实战:3分钟搞定摄像头调试与3D视图配置(附避坑指南)

本文详细介绍了地平线Matrix-Client在摄像头调试与3D视图配置中的实战技巧,包括环境准备、核心功能快速上手、高阶调试与性能优化等。通过3分钟快速配置指南和避坑建议,帮助开发者高效完成智能视觉系统开发,特别适用于自动驾驶和机器人视觉领域。

w7x8y9z的博客 267

使用JSTL的标签是需要注意的几点问题

有两种语法格式(1) (2)     .....  (3) 语法1和2会产生异常错误,有以下两种情况    target为null    target不是java.util.Map或者javabean假如value为null,将由存储变量改为删除变量   语法3: 由var 和scope所定义的变量,将被移除                若scope指定时,则Page

我的世界我的梦 1036

【知识点总结】电机学——原理部分

大家好,由于院校地区存在疫情没法返校,再结合当下形式,去各地旅游放松可能不是一个好的决定,o(╥﹏╥)o,期待已久的旅行就先放一边吧,但也不能闲着,既然无事,那不如继续我的总结,本次总结的内容是电机学,自九推以后我越来越明白电机学的重要性……呜呜呜~~实在太重要了,几乎所有与专业复试有关的题目都会涉及电机学,而它又比较抽象,容易使人浅尝辄止,只能理解一些表面的东西。为此自九推之后,我深刻领悟自身不足,决定对电机学发起依次猛攻,势必要将其彻底拿下,这这只是我的粗略总结,若有空闲,我将不断完善它。

weixin_51130221的博客 1万+

HTML页面循环遍历数据,不用JSTL标签

javascript动态创建div循环列表 动态循环加载列表,实现vue中v-for的效果 效果图: 代码: var noApplicationRecord = document.getElementById('noApplicationRecord') //模拟数据 var data = [ { business: '万达影院(万胜广场店)', count: '325',...

laozhang0910的博客 3425

OTA(Over-The-Air)升级

OTA(Over-the-Air)是一种通过无线方式进行数据传输和更新的技术,通常用于电子设备(如智能手机、汽车、物联网设备等)的软件、固件或配置更新。OTA可以在设备与服务器之间进行远程传输,用户无需将设备接入电脑或进行有线操作。通过OTA,用户只需要通过Wi-Fi或移动网络连接,便能自动接收并安装最新的更新,而无需手动干预。OTA的优点是便捷和高效,能够确保设备随时保持最新状态,同时减少用户的操作负担。:如智能家居设备、路由器、汽车等硬件设备的固件更新。:确保设备上的应用保持最新版本。

weixin_50127894的博客 5065

Ceres-solver examples之pose_graph_3d学习笔记

Ceres-solver examples之pose_graph_3d学习笔记简要说明变量说明关键步骤一、Costfunction的搭建其中包括:二、构造Problem 简要说明 ceres-solver库是google的非线性优化库,可以对slam问题,机器人位姿进行优化,使其建图的效果得到改善。pose_graph_3d是官方给出的二维平面上机器人位姿优化问题,需要读取一个g2o文件,运行程序...

幽冥小龙的博客 3890

jsp中jstl fn为啥不能用

你普通的EL表达式能用不?格式写对了没?fn用法:${fn:length(str)}

笨鸟快飞的专栏 1124

Unity3D实战:5分钟搞定RTSP监控视频流播放(附完整代码)

本文详细介绍了如何在Unity3D中快速实现低延迟RTSP监控视频流播放,提供完整代码和优化方案。通过Video Player组件和FFmpeg集成,开发者可以轻松应对智能家居和安防监控领域的实时视频流挑战,显著降低延迟并提升性能。

weixin_29015051的博客 587

JSTL中循环标签的使用

随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666) JSTL标签库中包含<c:forEach>和<c:forTokens>两个循环标签。 一、<c:forEach> 有两种语法: 1、集合成员迭代: 2、数字索引...

孤云博客 2万+

PyQt5开发应聘简历模版

该工具旨在帮助用户对Excel、CSV格式的数据进行快速导入、分析及可视化展示,支持折线图、柱状图、饼图等多种图表类型,提供数据筛选、排序、统计等功能,适用于企业数据分析人员日常工作。:一款用于本地文件管理的桌面应用,支持文件的新建、复制、移动、删除、重命名等基本操作,具备文件搜索、分类整理、批量操作及文件信息查看等功能,提升用户文件管理效率。:熟悉QSS(Qt Style Sheet)样式表,可对PyQt5界面进行个性化美化,包括控件颜色、字体、边框、布局等样式定制,提升应用视觉体验。

ybmzlqzj的博客 83

前端使用二开Thingsboard一、二、三事(三)-规则链

以项目实战为基础,逐步介绍前端在thingsboard系统二次开发中的一些注意事项以及一些thingsboard一些页面功能讲解,为前端人员开发使用thingsboard提供一种可靠思路,打造一个完美的物联网系统。

weixin_43163457的博客 863

jsp页面使用jstl表示时,注意事项

此处alert(${pageScope.ul.suser})应该为alert('${pageScope.ul.suser}') 否则如果${pageScope.ul.suser}=aaa或者中文,将出现下面错误...

csy1989csy的博客 191

最新Python爬虫实战(入门爬虫篇)——案例13:某乎热榜数据采集(详细爬虫思路截图+抓包动图演示+完整爬虫代码+详细注释)

本次案例通过Python爬虫技术,成功实现了基于Cookies认证的某乎热榜数据爬取与Excel保存。代码采用模块化设计,包含Cookies解析、HTML请求、结构化解析、Excel持久化等完整流程;通过配置浏览器请求头+Cookies认证,有效突破某乎基础反爬策略,保证请求稳定性。整个爬虫逻辑遵循“Cookies认证 → 页面请求 → HTML解析 → 数据清洗 → 保存到Excel”的标准流程,与需要会话验证的网站爬取范式高度一致。Cookies解析与认证。

努力让自己发光,对的人才能迎着光而来 33万+

和JSF一起使用JSTL和其它的JSP定制标记

和JSF一起使用JSTL和其它的JSP定制标记

hfdhjjj的博客 308

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Spring MVC 学习 JSTL(720科技)

一、知识笔记 JSP 标准标签库(JavaServer Pages Standard Tag Library,JSTL)是一个定制标签库的集合,用来解决像遍历Map 或集合、条件测试、XML 处理,甚至数据库访问和数据操作等常见的问题。在 JSP 页面中使用 JSTL 库,必须通过以下格式使用 taglib 指令:&lt;%@ taglib uri="uri" prefix="prefix" %&...

qizhehaiguidehouniao的博客 217

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

JS中使用JSTL

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34167819的博客 251

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

java c标签 if有值_jstl标签里c:if的使用

展开全部1、< c:if > 的使用c:if 相当于if..else..语句,但c:if里面并没有类似于32313133353236313431303231363533e4b893e5b19e31333366306433else的写法,只能写成多个c:if。${item}${item}2、< c:if test=”value ne, eq, lt, gt,….”> 用法。算...

weixin_42363388的博客 1254

el jsp 表达式 默认值_EL表达式以及JSTL标签库简单介绍

EL表达式学习我们都知道EL表达式为我们获取作用域数据提供了极大的方便,因此有必要掌握它.1. 使用传统方式在jsp中获取作用域数据(1) 使用传统方式在jsp中获取作用域的数据有什么不方便的地方?答:需要通过脚本段表达式来获取,一般还要导包和强制类型转换等2. 表达式的概念介绍和基本语法(1) 视频中在jsp中使用脚本段语句获取作用域中的数据的缺陷是?答: 需要通过脚本段表达式来获取,一般还要导...

weixin_30678145的博客 331

Spring MVC 集成Jstl和freemarker

网上有很多关于这方面的资料,大多数都是copy来copy去的,无那一份是完整可以运行。自从Spring3.0发布后,支持Annotation的方式配置,有些地方有所不同。 有几点要注意的地方: 1. Freemark的最好单独配置一个Spring MVC的servlet,然后指向freemark的配置文件。这样做的目的是通过servlet的url-pattern去区分那些是向freemar...

kelvinmak 210

关于jstl EL用法的注意点(java.lang.NumberFormatException: For input string: "userName")

今天使用stl 结合El做jsp页面展现,出现了个问题,怎么调也调不好,最后将jstl的源码拿来跟踪调了一下才明白其中的道理。 在使用jstl tag 的时候,一般可以用来在页面上展现集合的数据,但是有一点必须要注意的,就是var 和items的含义的问题。    查看api文档,上面只是简单的说明了一下,其实在实现该标签的时候,内部是通过items里面指定的这个集合对象来获取一个I

walkingmanc的专栏 3万+

JSTL 的 if else : 有 c:if 没有 else 的处理

jstl的c:if 没有else 想要实现if...else...: 可以用下面的解决 -------------------------------------------------------------------- 结构:        如果            否则      代码:       

x1n1010的专栏 530

Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core"

有些时候,会报错,错误提示为: Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core" 解决此问题的方法为以下: 在WEB-INF/lib里加入 jstl.jar standard.jar两个包即可解决这个问题

hankaibo 1514

用JSTL的forEach标签迭代Map对象

以前都用forEach标签迭代List,Set对象,今天需要用它来迭代Map对象,就研究了一下。以下是试验代码:http://java.sun.com/jsp/jstl/core" %>无标题文档 public static class TTT{  private String name;  public TTT(String name){   this.name = name;  }  

7350

According to TLD or attribute directive in tag file, attribute value does not accept any expressions

环境: win2003 tomcat 5.5 JDK1.6上   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.s

jokeHello的专栏 1531

项目中遇到的一些前后台数据交互小问题

1、在JSTL语句中,中,判断属性是否相等,判断语句在${}中进行,及: 2、在JSTL中,没有if else,使用choose、whe、otherwise来表现条件判断 ${item.value} ${item.value } 3、select的id名不能取为type,不然获取不到的; 4、在javaScript 中获取Text文本框中的值:eval(d

莫轮_小锐 的专栏 1282

Tomcat10版本避坑

* Tomcat版本选择** Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和 并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。并且Tomcat的版本选择尤其重要,目前Tomcat最新版本为10.0.8.但是最新版本10对比tomcat9发生了很重要的变化 Tomcat 10以后的用户应该知道,作为将Java EE转移到Eclipse Foundation的一部分,从Java EE转移到Jakarta EE的结果是,所有实现的

qq_50596778的博客 8654
上一篇: 政府系统中机构岗位人员复杂排序算法
下一篇: 让页面中iframe 或者 div 高度自适应
summitfly
博客等级 码龄19年 3粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值