问题描述
<%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core"%><%@taglibprefix="fn"uri="http://java.sun.com/jsp/jstl/functions"%><c:setvar="str"value="Java"></c:set><!--这里可以输出我爱Java。我懂replace的功能,是替换的一个函数-->${fn:replace('我爱java','java',str)}<!--但我现在想的是把“我爱Java”中的java变成红色。于是我写了如下代码-->${fn:replace('我爱java','java','<fontcolor=red>'+str+'</font>')}<!--坑爹的不行!EL把+号只当是加法了。字符串相加尽然不能将字符串连接起来-->请问各位大侠。在EL表达式中如何使字符串连接起来呢?
解决方案
解决方案二:
'<fontcolor=red>str</font>'这样不行吗
解决方案三:
这样的话就不能输出我爱Java而是输出我爱str,关键点。str是一个变量哦
解决方案四:
'<fontcolor=red>'str'</font>'EL里面字符串相加不用加号
解决方案五:
引用3楼的回复:
'<fontcolor=red>'str'</font>'EL里面字符串相加不用加号
不加报错哦!
解决方案六:
<%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core"%><%@taglibprefix="fn"uri="http://java.sun.com/jsp/jstl/functions"%><c:setvar="str"value="Java"></c:set><!--这里可以输出我爱Java。我懂replace的功能,是替换的一个函数-->${fn:replace('我爱java','java',str)}<!--就在这里重新利用set标签声明一个变量--><c:setvar="str"value="${'<fontcolor=red>'}${str}${'</font>'}"></c:set>${fn:replace('我爱java','java',str)}这样就好了。EL表达式中好像一直找不到字符串相加的做法。
解决方案七:
'str1'.concat('str2')
解决方案八:
'<fontcolor=red>'+${str}+'</font>'
解决方案九:
还是对<c:setvar="str"value="Java"></c:set>不太了解的原因造成的。
解决方案十:
<c:setvar="val"value="${'Java'}${entry.name}"></c:set>
解决方案十一:
5楼的做法是对的,先让字符串连接,再替换
解决方案十二:
6楼是对的。EL自己可以拼接的。