第一页的
session.setAttribute("tmpresult1",document.all.tmpresult1.innerHTML);
是在完成按钮onclick时写在FUNCTION里面的。
目的是获得<TD  id=tmpresult1>内的HTML内容
第二页我是用
 String result1=null;
 result1 =(String)session.getAttribute("tmpresult1");
但是out.println(result1);的结果一直是NULL。
为什么这个SESSION没有起到效果?

解决方案 »

  1.   

    在IE下,不可以另开窗口。其它原因未知!
    document.all.tmpresult1.innerHTML==null?(一般不会)
      

  2.   

    你的document.all.tmpresult1.innerHTML是什么类型?????
    你下边取的时候可是用的string类型!!!!!!!!!
      

  3.   

    document.all.tmpresult1.innerHTML
    我取tmpresult1这个TD中间的字符串不该用String类型吗?
    我不是另外窗口。我是把第一个窗口中的值用SESSION存储到ACTION的页面去处理。
      

  4.   

    你的意思是session.setAttribute("tmpresult1",document.all.tmpresult1.innerHTML);
    后面要指定类型?
    session.setAttribute("tmpresult1",new String(document.all.tmpresult1.innerHTML));
    这么写?
      

  5.   

    很显然,又是一个客户端和服务器没有理解明白的人。
    document.all.tmpresult1.innerHTML是客户端执行的东西,session.setAttribute是服务器执行的东西,服务器的东西是不可能这样获得在客户端运行的东西的值得。
      

  6.   

    上面的朋友我在想你是否想达到这样的意思页面1.  
    <div id="tmpresult1">
    abcxxx
    </div>
    <script>
       function a() {
         window.location = "page2.jsp?tmpresult1=" + document.getElementById("tmpresult1").innerHTML;
       }
    </script>
    <button onclick="a()">
    Submit
    </button>page2.jsp
    session.setAttribute("tmpresult1",document.all.tmpresult1.innerHTML); 同一IE进程
    page3.jsp
    String result1=null; 
    result1 =(String)session.getAttribute("tmpresult1"); 这样result1就是abcxxx 
      

  7.   


    搞错了一点,再发:
    页面1.   
    <div id="tmpresult1"> 
    abcxxx 
    </div> 
    <script> 
       function a() { 
         window.location = "page2.jsp?tmpresult1=" + document.getElementById("tmpresult1").innerHTML; 
       } 
    </script> 
    <button onclick="a()"> 
    Submit 
    </button> page2.jsp 
    session.setAttribute("tmpresult1",request.getAttribute("tmpresult1"));  同一IE进程 
    page3.jsp 
    String result1=null;  
    result1 =(String)session.getAttribute("tmpresult1");  这样result1就是abcxxx  
      

  8.   

    你似乎还没有学懂jsp,不知道你有没有学servlet,如果没有学servlet那么赶快学,如果学了,那你再去复习复习,似乎很多地方你还没有理解。
    虽然我可以告诉你如何做,但是最好还是自己理解得好,要了解web的工作机制,什么是客户端,什么是服务器,他们之间如何联系的,在开发过程中哪些在服务器中运行,哪些在客户端运行,jsp是什么,服务器是如何处理jsp的,servlet之间的通讯如何进行。
    你上面的方法都是不能获得到值得。
      

  9.   

    我的目标是想把document.all.tmpresult1.innerHTML的值传到下一页。
    以前的做法都是使用HIDDEN来传值。
    但是这次document.all.tmpresult1.innerHTML里面包含TEXT,必须是提交时生成。
    所以我想用SESSION来传。不过SESSION还真是没用过。
      

  10.   

    session.setAttribute("tmpresult1","%>document.all.tmpresult1.innerHTML<%"); 
    这样试试
      

  11.   

    晕,在页面的FUNCTION里面能给SESSION挂上东西吗?我怎么一直不知道?
      

  12.   

    而且为什么要写在页面?在SERVLET里面不行?实在搞不清楼主了
      

  13.   

    终于搞清楚了一点 不时MVC  呵呵
      

  14.   

    折腾一天了。头大得很。
    其实我就是想把document.all.tmpresult1.innerHTML这个值取出来传到后一页去处理。
    因为大小问题不能用URL传,里面有TEXT不一定写上多少东西。
    然后我先是想到用一个HIDDEN的框把document.all.tmpresult1.innerHTML的值放进VALUE里面,
    又写了var tempresult1=document.tmpresult1.innerHTML;
    但是这个值是在提交的时候取得,不能替换到VALUE里面的值。
    没办法想用SESSION的形式于是就有了最前面的问题。
    不过看来也走不通。
    难道我要把这段内容先写成文本文件再在下一页读出来?
      

  15.   

    <form name="f3">
    <input type="hidden" name="forpassvalue"/>
    document.f3.forpassvalue=document.all.tmpresult1.innerHTML你在用Ajax?
    你确实 B  S不分
      

  16.   

    17楼这种做法我上午试过了。页面生成之后要改变这个值不管document.f3.forpassvalue还是document.f3.forpassvalue.value都不行
    你这个例子的话如果forpassvalue初始有一个值的话第二页就取到这个值。没有值得话第二页什么都没有。