jsp代码是在服务器端执行了,而js代码是在客户端执行的.所以lz说的"让偶点击按钮再触发request.getAttribute语句,为什么放在下边就不好使呢"是不能实现的.除非点击按钮在发送一个请求才可以.

解决方案 »

  1.   

    window.open('s2.jsp?name= <%=request.getAttribute("name")%>','_self'); 先运行<%=request.getAttribute("name")%>得到null<%request.setAttribute("name","name"); %> 再set就没意思了request.getAttribute("name")已经运行过了
      

  2.   

    request.getAttribute("name")在前面,所以在服务器端就先执行了这个。
    request.setAttribute("name","name")在后面。你换成这样也许就不一样了:<%request.setAttribute("name","name"); %>
    <script type="text/javascript">
    <!--
          function opens(){
                  if(window.confirm('abcd')){                    window.open('s2.jsp?name= <%=request.getAttribute("name")%>','_self');              }              else return null;
          }//--></script>
    <input type="button" value="submit" onclick="opens()">