问题是 我在后台 上传了图片 ,前台不显示 如果把图片地址直接写在数据库又可以显示
代码是这样的:
<!-- 新闻图片-->
<s:if test="null != newsImg && !newsImg.isEmpty()">
<div class="nr" target="_blank">
<div id="swfContent"></div>
<script type="text/javascript">
var a1='${newsImg[0][2]}';
var a2='${newsImg[0][1]}';
var a3='${newsImg[1][2]}';
var a4='${newsImg[1][1]}';
//alert(a1+" "+a2+" "+a3+" "+a4+" ");
var xmlData="<list><item><img>"+a2+"</img><url>ArticleAction?id="+a1+"</url></item><item><img>"+a4+"</img><url>ArticleAction?id="+a3+"</url></item></list>";
var flashvars = {xmlData:xmlData};
var params = {menu:false,wmode:"opaque"};
var attributes = {};
swfobject.embedSWF("<%=basePath%>HTML/swf/lanren.swf", "swfContent", "197", "191", "9","expressInstall.swf", flashvars, params, attributes);
</script>
</div>
</s:if>
没在后台上传图片时源代码浏览器F12里是这样的
在后台上传图片后 F12变成了这样是这样的
这<script type="text/javascript">好像不编译了
这是怎么回事 求各位大神解决
------解决思路----------------------
路径中使用斜杠/和反斜杠\的区别到底是什么。查阅了一些资料后可知。
Unix使用斜杆/ 作为路径分隔符,而web应用最新使用在Unix系统上面,所以目前所有的网络地址都采用 斜杆/ 作为分隔符。
Windows由于使用 斜杆/ 作为DOS命令提示符的参数标志了,为了不混淆,所以采用 反斜杠\ 作为路径分隔符。所以目前windows系统上的文件浏览器都是用 反斜杠\ 作为路径分隔符。随着发展,DOS系统已经被淘汰了,命令提示符也用的很少,斜杆和反斜杠在大多数情况下可以互换,没有影响。
知道这个背景后,可以总结一下结论:
(1)浏览器地址栏网址使用 斜杆/ ;
(2)windows文件浏览器上使用 反斜杠\ ;
(3)出现在html url() 属性中的路径,指定的路径是网络路径,所以必须用 斜杆/ ;
<div style="background-image:url(/Image/Control/title.jpg); background-repeat:repeat-x; padding:10px 10px 10px 10px"></div>
// 如果url后面用反斜杠,就不会显示任何背景
(4)出现在普通字符串中的路径,如果代表的是windows文件路径,则使用 斜杆/ 和 反斜杠\ 是一样的;如果代表的是网络文件路径,则必须使用 斜杆/ ;
<img src=".\Image/Control/ding.jpg" /> // 本地文件路径,/ 和 \ 是等效的
<img src="./Image\Control\cai.jpg" />
<img src="http://hiphotos.baidu.com/yuhua522/pic/item/01a949c67e1023549c163df2.jpg" /> // 网络文件路径,一定要使用 斜杆/
把上传的 地址的斜杠改为 /