比如说做一个查询数据库表的简单例子。
从A.jsp页面中的form表单将 数据库名dbName , 表名tableName , 每页显示数量pageSize
提交给TableServlet。 让TableServlet判断以后如果输入正确,则查询出数据库中信息以后发送至B.jsp页面
上面这一步,正常。
然后在B.jsp页面中有上一页和下一页两个按钮。当我点击上一页或下一页的时候。会通过form表单将指令action到TableServlet,在TableServlet中就会又执行一遍doPost()或doGet。但是应为B.jsp页面没有提交dbName、tableName、PageSize。所以得到的数据就变成空了 。这该如何解决?
还有,为什么感觉用jsp很麻烦 。页面中如果有很多。按钮,随便按下哪个按钮,都要会将页面刷新一遍。里面的数据又要全部重新写入。就没有点击按钮以后只刷新局部代码的方法么?

解决方案 »

  1.   

    你可以B.jsp设三个隐藏域,等到A.jsp把数据传到B.jsp时你在TableServlet,用request封装dbName、tableName、PageSize这3个参数。把B.jsp那三个隐藏域的value对应的设置,等到下次提交B.jsp
    就可以有这3个参数了。
      

  2.   

    提交不刷新是基本的网页开发一般用AJAX或者Frame来实现
    AJAX是用js来提交
    而Frame一般用是往一个隐藏的Frame提交,页面本身就不用刷新了(但要获得返回信息也比较麻烦)
      

  3.   

    学JSF吧,比你这酷得多的问题猫似都可以解决。
      

  4.   

    用隐藏域解决啊。
    <input type="hidden" name="pageSize" value="<%request.getAttribute("pageSize")%>"/>
    每次提交到TableServlet,你都把数据放到request中,如request.setAttribute("pageSize",100);
    然后转发的页面就用隐藏域存放,这样就不会每次提交值就会null的现象了。。
      

  5.   

    我也是新手,楼主的课题可能涉及到AJAX、分页等技术。
      

  6.   

    如果是把这些值设置到request可能会更好。
      

  7.   

    1.所以得到的数据就变成空了 。这该如何解决?
    2.还有,为什么感觉用jsp很麻烦 。页面中如果有很多。按钮,随便按下哪个按钮,都要会将页面刷新一遍。里面的数据又要全部重新写入。就没有点击按钮以后只刷新局部代码的方法么?
    1.如果B显示是数据库所有的信息的话,楼主可以在写一个sevlet来专门做一个查询
    2.有方法的,楼主可以学习ajax,很简单的,网上有例子可以自学的
      

  8.   

    那你要学框架,一堆配置文件,JS各种复杂不是要shi了么~
      

  9.   

    form表单提交的数据可能没有被记住!
      

  10.   

    呵呵,我说说后面那个问题的自己的看法。你所说的整个页面的刷新,假如不采用ajax的话,我想哪种页面都是这样的,毕竟局部刷新是ajax干的事情..
      

  11.   

    分页查询,不是这样搞的,如果你想搞Web开发,AJAX是你必须要学习的东西,去了解一下AJAX吧
      

  12.   

    页面的按钮无非就是提交,重置等,你可以用onclick=""来提交;分页的技术比较麻烦的,呢几个属性当然要放在隐藏域中了,在隐藏值的时候判断下,他就不会有空了
      

  13.   

    没学过JavaScript 直接学的jsp 。 感觉有很多东西,jsp做起来很麻烦。