我有1个JSP页面和1个HTML页面。我将这个HTML页面动态地包含在JSP中,如下所示。
<jsp:include page="<%=htmlPageURL%>" flush="true" />
htmpPageUrl
值为/temp/1232334333.html
在1232334333.html中,我有一个图片代码:
<img width=135 height=48
src="1232334333_files/image003.jpg"> </img>
这是文件夹结构:
MyWebApp/temp/1232334333.html
MyWebApp/temp/1232334333_files/image003.jpg
问题是当我在JSP中包含HTML页面时,它会显示所有文本,但无法加载图像。
我的理解:
当我在JSP中包含HTML时,所有图像路径都应该与我的JSP相关,而不是我的HTML。但我真的无法改变HTML源代码。有没有办法处理这种情况?
答案 0 :(得分:0)
img标签是正确的。
<div id="Create" style="display:none">
@Html.Partial("_Create")
</div>
正确
Wrong: <img width=135 height=48 src="1232334333_files/image003.jpg" </img>
答案 1 :(得分:0)
如果您无法访问.html
页面来修改源代码,那么您可以尝试使用.jsp
文件中的jQuery对其进行修改。如果您知道<src />
标记的位置(我认为它包含在页面后的第一个位置),您可以按以下步骤操作:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("img:first").attr("src","/temp/1232334333_files/image003.jpg");
var src = $("img:first").attr("src");
alert(src);
});
</script>
</head>
<body>
<!-- The following image is inserted after the <jsp:include /> function is processed -->
<img width=135 height=48 src="1232334333_files/image003.jpg" />
</body>
</html>
警报功能将显示/temp/1232334333_files/image003.jpg
。
我不确定它是否有效,但值得一试。
答案 2 :(得分:0)
<base>
标签对我有用。
e.g. <base href="http://localhost:8080/MyWebApp/temp"></base>