[英]how to use img tag src with begin <c:url
how to use img tag with src begin '<'c:url'>' in javascript source dynamically如何在 javascript 源中动态使用带有 src begin '<'c:url'>' 的 img 标签
in html source it works well but in javascript source I dont know how to use img tag in string在 html 源中它运行良好,但在 javascript 源中我不知道如何在字符串中使用 img 标签
[html] [html]
<div> <img src="<c:url value="${contextRoot}/TMP/test1.jpg"/>"> </div>
this img tag works well,这个 img 标签效果很好,
[javascript] [javascript]
var str = "";
1) str += "<img src="<c:url value="${contextRoot}/TMP/test1.jpg" />">"
1)
str += "<img src="<c:url value="${contextRoot}/TMP/test1.jpg" />">"
2) 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' />'>"
3)
str += "<img src='<c:url value='${contextRoot}/TMP/test1.jpg' />'>"
$('#temp').html(str)
these 1),2),3) sources call error这些 1),2),3) 来源调用错误
how to fix this source works well如何修复此来源效果很好
[javascript function] [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 ways] [Thum Choon Tat 方式]
Chrome developer mode show that Chrome 开发者模式显示
<c:url>
tag is a server-side tag and server-side script will be evaluated first before your JavaScript does. <c:url>
标签是一个服务器端标签,服务器端脚本将在您的 JavaScript 之前首先被评估。 A workaround on this will be rendering the URL in a variable as the template string and replace
it via 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>";
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.