日期:2014-05-17  浏览次数:20714 次

html代码不解析问题
在开发一个报表程序,用window.open()打开 servlet,在后台动态的组成html代码,在打开的页面中展现。
如果是值为空开始是这样展示
<span></span>
后来在值为空位置加图片,将代码改为
<span><img src="<%=request.getContextPath()%>/images/tp.gif"></span>
结果在打开的页面中右键查看源文件发现 <%=request.getContextPath()%> 并没有变成工程相对路径,根本没有解析,
<span><img src="<%=request.getContextPath()%>/images/tp.gif"></span>
还是老样子
如果将src路径改为绝对路径,如 src="c:/images/tp.gif" 反倒是能够看到图片,不知道是怎么回事,请高手给讲解一下,谢谢。


------最佳解决方案--------------------
用相对路径试试<span><img src="./images/tp.gif"></span>(当前页面跟images目录平级)
------其他解决方案--------------------
<%  String a=request.getContextPath()%>
<%=a%>
有值么
------其他解决方案--------------------
你在servlet里面把这个路径拼进去嘛
------其他解决方案--------------------
这样肯定不行啦。  先取出request.getContextPath(),再放入<span>中
------其他解决方案--------------------
写死也不行,例如我的工程相对路径是

<img src="gcxt/images/tp.gif">

一样不显示,而写成开发环境的绝对路径就可以,奇怪。
------其他解决方案--------------------
request.getContextPath()这个是取得你的根目录,你的图片是放在根目录下吗
------其他解决方案--------------------
是啊,是在根目录下
------其他解决方案--------------------
<% String contextPath=request.getContextPath()%>在一开始获得这个试试。。
------其他解决方案--------------------
要不用相对路径,如果要用绝对路径,请你具体的将你这个路径过去下来看一下是什么,确定你的这个路径能访问到你的图片。
------其他解决方案--------------------
你在servlet里生成的html代码?如果是这样就不必用<%=....%>,这个是在jsp页面用的,你直接在servlet里取到路径,填上就行了。你这样写在绕圏子
------其他解决方案--------------------
引用:
你在servlet里生成的html代码?如果是这样就不必用<%=....%>,这个是在jsp页面用的,你直接在servlet里取到路径,填上就行了。你这样写在绕圏子


按照您说的我改了,我工程的根目录是 gcxt

在servlet中生成 <img src="/gcxt/images/tp.gif"> 就不显示

生成<img src="c:/myproject/gcxt/gcxt/images/tp.gif"> 就显示了

怎么绝对路径能显示,工程的相对路径怎么显示呢?谢谢!



------其他解决方案--------------------
你把<img src="/gcxt/images/tp.gif"> 换成<img src="/gcxt/gcxt/images/tp.gif"> 试试