有一个问题已经研究了N天了,一直未果,请牛牛来看看;1.问题:
我在jsp中用了<img>对象,在其属性src中指定其访问后台的action,并在action中向session对象输了一个字符串值ABC,我在当前jsp中img对象后加了一段java代码,用于取得action在session中输进去的字符串ABC,但取不到
2.原因:
因为jsp在解发了img的src属性时并没有等待action完成,而是继续执行其它的显示,所以此时session里的值也许还没有完成存放,所以前台无法取到
3.问题:
如何解决??any replies would be appreciated!

解决方案 »

  1.   

    不知道您的意思是不是  有个图片的内容 只有访问后台后才能 确定。
    如果是这样的话
    我们这样考虑 能不能行 在访问b(包含img)之前先触发action 处理 到数据后 在转给 b
      

  2.   

    把你的代码贴出来!给session里面写值几乎不需要消耗时间,不会是因为你自己所说的原因,如果是想数据库写数据,可能还有这样的问题存在!你可以在你的action里面通过System.out.println()输出信息,看看action的执行情况!
      

  3.   

    这样做的目的是什么,应该可以用别的方式解决。jsp上的java代码在server端执行,然后生成html文本数据,客户端接收到html后解析html时才会通过<img src="/imgAction.do" />去请求图像数据-你能想象服务器在处理客户端对一个hml文件的请求时去执行上面的html标签么.....所以你思路错了。
      

  4.   

    用js来处理session中输进去的字符串ABC吧
      

  5.   

    谢谢大家的回复,不过情况是这样的,我在jsp要先判别是否显示img,然后再用<img src="/imgAction.do" />到imgAction中根据图形来生成相关的字符串,前提就是必须先得到img的内容,然后才在session中放置字符串,现在img的图形可以慢慢加载,而在jsp中输出的字符串却不行,所以无法解决
      

  6.   

    楼主把问题说清楚啊先判别是否显示img
    ----------
    根据什么判断?
    imgAction中根据图形来生成相关的字符串
    ---------------
    imgAction的作用是什么?生成字符串到底是干什么用的?要在页面上被javascript调用?
      

  7.   

    详细内容是这样的,我要查询数据库然后显示主子表内容,先在JSP中读取RESULTSET,如果主表的显示类型为图表,则我通过IMG访问SERVLET统计子表信息然后生成图形,但生成图形的同时也需要生成对于图形的描述信息,所以IMG的路径不需要返回,只要设定为固定路径即可,生成图形后可自动加载,但关于图形的描述信息此时无法返回给JSP了
      

  8.   

    难道一定要生成图形时才能生成"对于图形的描述信息"字串?
    那只有再去服务端请求一次了。这样试试:
    在页面上:
    <img src="/image.do" />
    <script >
        var url= "/xxx.jsp";
        var xmlHttp = createXMLHttpRequest();
        xmlHTTP.open("POST", url, false);
        xmlHTTP.send();
        alert(xmlHTTP.responseText);
    </script>image.do里将图形的描述信息写入sessionxxx.jsp:
    <% String msg=(String)session.getAttribute("message");session.removeAttribute("message");response.getWriter().write(msg);%>///javascript那块可能有错误,去网上搜搜xmlhttprequest就有现成代码的。