不用form提交数据,就只能用url传值了

解决方案 »

  1.   

    我的意思是页面内执行
    HttpSession session=request.getSession();
    httpsession.setAttribute("xxx", xxx);
    xxx是由页面上获得的值
      

  2.   

    如果只是在jsp页内的话,根本没办法
    因为Javascript无法和服务器交互,session是服务器端对象
    如果你的目的是不想让页面跳转的话
    考虑一下用一个不可见的iframe包含一个jsp页
    form1.target="iframe1"
    在那个页里面提交到session
      

  3.   

    能具体点吗?iframe我不太了解?
      

  4.   

    我明白你的意思,你是说,一按某个按钮,就把form中的某个值赋值给一个session吧?这只能这样来实现,例如form上有<input type=text name="username" action="a.jsp">a.jsp中,写上
    <%
    session.setAttribute("username",request.getParameter("username"));
    %>可能你想在一个页面中,不用提交就把username的值赋给session,很多刚刚接触WEB开发的人,都分不清客户端跟服务器端的区别,在页面没提交前,username上填写的值,只有客户端,也就是用户的IE才知道,只有把form提交了,服务器端才能得到这个值,而session这个对象是在服务器端生成的,所以不可能在未提交时,就把username存放进session里面。当然,人们现在开始思考能不能不提交页面,也能把值传到服务器端,这样不用等页面刷新,效率就快多了,于是就产生了ajax技术。不过ajax技术会把页面上的JS代码变得更加复杂,如果楼主基础不是很好的话,还是先不要碰。
      

  5.   

    http协议为无状态协议
    不会保存延续的会话
    jsp技术里session的实现是根据request而维护的
    相应的jsp容器或引擎也只支持这种方式
    除非自定义一种web技术,并实现他,不过好像没有什么意义你的需求需要另外一种有状态的协议来支持
      

  6.   

    用框架就可以了
    恩就是上面那位说的 frame
    其实还是两个页面来则 呵呵