JavaWeb - jsp中EL表达式的$符号和ES6模板字符串的$符号和谐相处

  • 在jsp中使用ES6的模板字符串,由于el表达式和模板字符串的插入变量都是使用${}这种形式,所以下面的img标签如果写成
<img src="${pageContext.request.contextPath }/${data[i].pimage}">

${pageContext.request.contextPath }在jsp中会被正常解析,而${data[i].pimage}会被jsp解析成'',要正常使用ES6模板字符串的插入变量,须在jsp中将模板字符串的${}进行转义,写成\${$\{。同样的,如果想在模板字符串中使用${这个字符串(不知道出于什么样的奇葩理由),也只需要写成\${$\{(两个字符转义其一即可)。

  • 需要转义
for(var i=0;i<data.length;i++){
    content+=`
        <tr style="text-align: center;">
            <td>
                <img src="${pageContext.request.contextPath }/\${data[i].pimage}" width="70" height="60"></td>
            <td>
                <a target="_blank">\${data[i].pname}</a></td>
            <td>\${data[i].shop_price}</td>
            <td>\${data[i].count}</td>
            <td>
                <span class="subtotal">¥\${data[i].subtotal}</span></td>
        </tr>
    `;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容