EL表达式运用

JSP EL表达式获取数据库中图片地址中数字进行计算
最近项目中要求页面上鼠标移入商品会更换该商品的另外一种颜色的图片
而我的数据库中图片的路径是
在这里插入图片描述
我需要获取到图片地址中的数字进行+1 因为我每一张图片都有三种颜色 而我数据库中储存的三种颜色
图片是连号的1.jpg ,2.jpg,3.jpg 所以我需要获取这串字符串中的数字1

实现方法
1.导入jstl自带函数jar包
<%@taglib prefix=“fn” uri=“http://java.sun.com/jsp/jstl/functions” %>
2.
思路1
1.jpg 由于数字是动态的 /是多次重复的 所以这里我们需要找到一个固定并且不重复的子字符串
也就是1.jpg中.(点)的下标
fn:indexOf(i.getSISBN(),".")-1 这里我调用的是EL表达式indexOf方法

下面我们来分析这个方法的用法

fn:indexOf(字符串,寻找的子字符) 第一个参数是需要查找内容的母字符串 第二个参数是母字符串中包含的字符串
fn:indexOf(i.getSISBN(),".")-1
我的第一个参数是集合中储存的图片地址 后面是数字后面的.(点)而-1就刚好找到了数字所在的位置
思路2
拿到数字的下标后就可以使用fn:substring方法去截取数字了
${fn:substring(i.getSISBN(),
fn:indexOf(i.getSISBN(),".")-1,
fn:indexOf(i.getSISBN(),"."))}
第一个参数是母字符串 第二个参数是母字符串中子字符传下标的起点
第三个参数是结束
最终咱们就能获取到数字了 ${fn:substring(i.getSISBN(),
fn:indexOf(i.getSISBN(),".")-1,
fn:indexOf(i.getSISBN(),"."))+1} 末尾+1
就获取到该商品的第二种颜色图片

猜你喜欢

转载自blog.csdn.net/MyAzhe0ci3/article/details/108053237