我的jsp页面中有一个简单的img元素,必须使用放置在webapp上下文外部的图像作为源...
我做了类似的事情:(从servlet生成并使用JSTL设置的路径)
<img src="C:/somewhere/32x32/userXX.png" class="member-box-avatar">
但我总得到的是http://myhost//myapp/C:/somewhere/32x32/userXX.png
所以图片没有出现,有没有办法解决这个问题?
我使用tomcat6作为服务器,我已经尝试了前进和后退斜杠
相关代码部分:
<c:choose>
<c:when test="${empty guest}">
<img src="${foto}${user.username}.png" class="member-box-avatar" />
</c:when>
<c:otherwise>
<img src="img/guest.png" class="member-box-avatar" />
</c:otherwise>
</c:choose>
$ {foto}包含绝对路径“C:\ mypath \ 32x32 \”(我尝试过任何类型的斜杠组合)
答案 0 :(得分:0)
使用
<img src="<%=request.getContextPath()%>/your/image/dir/image.png">
如果它托管在您的应用上下文中。
否则使用
1.IFrame渲染其他图像的图像网址
2.使用Ajax / jQuery异步渲染图像
答案 1 :(得分:0)
由于这个原因,我一直在努力奋斗。 我用这个技巧搞定了。
<a href="edit?action=showImageFull&url=C:/Users/Noir/Desktop/WorkSpaceEclipseNeu/w_mvc_3/WebContent/imgfolder/${imgageimage.time}.jpg" target="_parent">
<img src="http://localhost:8080/w_mvc_3/edit?action=showImageFull&url=C:/Users/Noir/Desktop/WorkSpaceEclipseNeu/w_mvc_3/WebContent/imgfolder/${imgageimage.time}-thumb.jpg"width="150" height="100">
在Java环境中
String action = request.getParameter(“action”);
if(action.equals("showImageFull")) {
try {
String url = request.getParameter("url");
response.setContentType("image/jpeg");
ServletOutputStream out;
out = response.getOutputStream();
FileInputStream fin = new FileInputStream(url);
BufferedInputStream bin = new BufferedInputStream(fin);
BufferedOutputStream bout = new BufferedOutputStream(out);
int ch =0; ;
while((ch=bin.read())!=-1)
{
bout.write(ch);
}
bin.close();
fin.close();
bout.close();
out.close();
} catch (BookNotFoundException e) {
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/jsp/error.jsp");
dispatcher.forward(request, response);
}
}
这用于显示缩略图和显示完整图像。 我希望它有所帮助。