在开发一个报表程序,用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" 反倒是能够看到图片,不知道是怎么回事,请高手给讲解一下,谢谢。

解决方案 »

  1.   

    用相对路径试试<span><img src="./images/tp.gif"></span>(当前页面跟images目录平级)
      

  2.   

    <%  String a=request.getContextPath()%>
    <%=a%>
    有值么
      

  3.   

    你在servlet里面把这个路径拼进去嘛
      

  4.   

    这样肯定不行啦。  先取出request.getContextPath(),再放入<span>中
      

  5.   

    写死也不行,例如我的工程相对路径是<img src="gcxt/images/tp.gif">一样不显示,而写成开发环境的绝对路径就可以,奇怪。
      

  6.   

    request.getContextPath()这个是取得你的根目录,你的图片是放在根目录下吗
      

  7.   

    <% String contextPath=request.getContextPath()%>在一开始获得这个试试。。
      

  8.   

    你在servlet里生成的html代码?如果是这样就不必用<%=....%>,这个是在jsp页面用的,你直接在servlet里取到路径,填上就行了。你这样写在绕圏子
      

  9.   


    按照您说的我改了,我工程的根目录是 gcxt在servlet中生成 <img src="/gcxt/images/tp.gif"> 就不显示生成<img src="c:/myproject/gcxt/gcxt/images/tp.gif"> 就显示了怎么绝对路径能显示,工程的相对路径怎么显示呢?谢谢!
      

  10.   

    你把<img src="/gcxt/images/tp.gif"> 换成<img src="/gcxt/gcxt/images/tp.gif"> 试试