【问题标题】:how to use img tag src with begin <c:url如何使用带有 begin <c:url 的 img 标签 src
【发布时间】:2019-11-07 13:55:00
【问题描述】:

如何在 javascript 源代码中动态使用带有 src begin '' 的 img 标签

在 html 源代码中效果很好,但在 javascript 源代码中我不知道如何使用 字符串中的img标签

[html]

<div> <img src="<c:url value="${contextRoot}/TMP/test1.jpg"/>"> </div>

这个img标签效果很好,

[javascript]

var str = "";

1) str += "&lt;img src="&lt;c:url value="${contextRoot}/TMP/test1.jpg" /&gt;"&gt;"

2) str += "&lt;img src='&lt;c:url value='${contextRoot}/TMP/test1.jpg" /&gt;"&gt;"

3)str += "&lt;img src='&lt;c:url value='${contextRoot}/TMP/test1.jpg' /&gt;'&gt;"

$('#temp').html(str)

这些 1),2),3) 来源调用错误

如何修复这个来源效果很好

[javascript函数]

function fnImageListCallback(json){ var code = json.data.code;

if(code == "S") {
        var list    = json.data.list;
        var listCnt = list.length;
        var str     = "";
        var str1    = "";

        if(listCnt > 0){
            str +="<tr>";
            str +="<th scope='row' style='background:#F2F2F2;text-align:center;'>파일이름</th>";
            str +="<th scope='row' style='background:#F2F2F2;text-align:center;'>사진보기</th>";
            str +="<th scope='row' style='background:#F2F2F2;text-align:center;'>삭제</th>";
            str +="</tr>";

            for(var i=0; i < listCnt; i++){

                str +="<tr>";
                str +="<th scope='row' style='text-align:center;'>"+list[i].photo_nm+"</th>";
                str +="<th scope='row' style='text-align:center;'><input type='button' value='사진보기'></th>";
                str +="<th scope='row' style='text-align:center;'><input type='button' value='삭제'></th>";
                str +="</tr>";      

                str +="<tr>";
                str +="<th colspan='3'><img src='<c:url value='${contextRoot}/asset/"+list[i].photo_nm+" ></th>";
                str +="</tr>";      

            }


            $("#imageList").html(str);
        }



} else {
    alert("failed");
}

} `

[Thum Choon Tat 方式]

Chrome 开发者模式显示

enter image description here

【问题讨论】:

  • 您是否将 JavaScript 放在同一页面上的 script 标记中?
  • 是的 html 在源代码中调用此脚本
  • 如果不太长,你能分享整个script标签吗?
  • 好的,添加有问题的脚本

标签: javascript html


【解决方案1】:

&lt;c:url&gt; 标记是服务器端标记,服务器端脚本将在您的 JavaScript 之前首先被评估。解决方法是将变量中的 URL 呈现为模板字符串,并通过 JavaScript 呈现 replace

var imgSrcTemplate = '<c:url value="${contextRoot}/asset/_photoNumber_" />';

if(code == "S") {
    var list    = json.data.list;
    var listCnt = list.length;
    var str     = "";

    for( var i = 0; i < listCnt; i++ ) {
        str += "<th colspan='3'><img src=\"" + imgSrcTemplate.replace( "_photoNumber_",  list[i].photo_nm ) + ".jpg\"></th>";
    }
}

【讨论】:

  • 能否在开发者控制台中附上生成脚本的截图?
  • 我在问题底部上传截图链接
  • 是否也可以包含script标签?
  • 开发者模式的所有源码??
  • 在开发者模式下
最近更新 更多