如何在开始<c:url中使用img标签src

时间:2019-11-07 04:37:19

标签: javascript html

如何在src中动态使用img标签和src在JavaScript源中以'<'c:url'>'开始

在html源中运行良好,但在javascript源中我不知道如何使用 字符串中的img标签

[html]

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

此img标签效果很好,

[javascript]

var str = "";

1)str += "<img src="<c:url value="${contextRoot}/TMP/test1.jpg" />">"

2)str += "<img src='<c:url value='${contextRoot}/TMP/test1.jpg" />">"

3)str += "<img src='<c:url value='${contextRoot}/TMP/test1.jpg' />'>"

$('#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

1 个答案:

答案 0 :(得分:0)

<c:url>标签是服务器端标签,服务器端脚本将在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>";
    }
}