关于EL表达式不能通过img src获得图片的问题

无法获得图片的原因始终是路径不正确,所以这个问题最终的关键点还是在于绝对路径与相对路径。
1.一般…/image/xx.jpg这种相对路径的写法用于css文件中,是根据css文件的路径计算的
2.如果在html、jsp页面中,直接这样写,很容易出现找不到图片的问题。除非你确定没有其它转发请求,然后还要求你精确的写出相对的路径。所以在jsp、html中一般都直接写明绝对路径(如:${pageContext.request.contextPath}/image/xx.jpg)来确保能准确获取到图片位置。

PS:如果出现页面没能展示出图片的问题的话,可以右击空白图片或查看页面源代码获取具体的图片路径查看错误。

在 Vue 3 ,可以使用以下方式来判断一个元素是否有指定的 class 并改变 img 图片地址: 1. 使用对象方式绑定 class,对象的属性名是类名,属性值是一个表达式,该表达式的值为 true 或 false,如果该表达式的值为 true,则该元素会添加该类,否则不添加。 例如,判断一个元素是否有名为 "isActive" 的类,并根据其值来改变 img 图片地址: ``` <template> <div :class="{ isActive: hasActiveClass }"> <img :src="imageUrl" /> </div> </template> <script> export default { data() { return { hasActiveClass: true, imageUrl: 'https://example.com/image1.jpg' } }, methods: { changeImageUrl() { if (this.hasActiveClass) { this.imageUrl = 'https://example.com/image2.jpg' } else { this.imageUrl = 'https://example.com/image1.jpg' } } } } </script> ``` 其,hasActiveClass 是一个在 Vue 实例的 data 定义的布尔值,如果它的值为 true,则该元素会添加 "isActive" 类。 当 hasActiveClass 的值改变时,可以调用 changeImageUrl 方法来改变 img图片地址。 2. 使用 ref 和 $el.classList.contains() 方法判断一个元素是否包含指定的类,并根据其值来改变 img 图片地址。 例如,判断一个元素是否有名为 "isActive" 的类,并根据其值来改变 img 图片地址: ``` <template> <div ref="myDiv"> <img :src="imageUrl" /> </div> </template> <script> export default { mounted() { if (this.$refs.myDiv.classList.contains('isActive')) { this.imageUrl = 'https://example.com/image2.jpg' } else { this.imageUrl = 'https://example.com/image1.jpg' } }, data() { return { imageUrl: 'https://example.com/image1.jpg' } } } </script> ``` 其,this.$refs.myDiv 表示一个指向该元素的引用,可以使用 $el 属性来访问该元素的 DOM 对象。当该元素的类名发生变化时,可以通过重新调用 mounted 方法来判断该元素是否包含指定的类并根据其值来改变 img图片地址。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值