踩坑:JSP中使用ES6、JavaScript的模板字符串
在JSP中书写JavaScript代码时,我想用ES6的模板字符串快速的处理接收到的数据。
当时的代码如下:
$('#btn')[0].addEventListener('click', function () { $.get('/student/getCourse', function (data) { content = data.map((item,idx) => { return `<tr><td>${item.courseName}</td><td>${item.courseScore}</td></tr>` }).join('') $('tbody').html(content) }) })
然后渲染不出来,${item.courseName}
的值为空。
突然想起来JSP的EL表达式,恍然大悟,原来模板字符串中的${}
被当做EL表达式来解析了,所以为空。
解决:使用引号将${}
括起来
在JSP中使用ES6的模板字符串需要用引号括起来,像这样:
`<tr><td>${"${item}"}</td></tr>` // 或 `<tr><td>${'${item}'}</td></tr>`
最外层的${}
被当做EL表达式处理,而引号括起来的${}
会被当做字符串拼接回模板字符串中,然后交给JS去解析
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!