我现在采用这个模式,在choice.jsp页面有几个表单,选择查询条件,然后提交给一个servlet进行处理,servlet查询到的数据保存在JavaBean中,然后由在servlet中用request.getRequestDispatcher("showRecord.jsp")请求的showRecord.jsp页面负责显示数据库查询的结果。
现在我有一个想法,就是choice.jsp页面提交后,查询的结果显示在choice.jsp页面,并且choice.jsp原有的表单仍然存在。现在我遇到的问题是,将servlet中的request.getRequestDispatcher("showRecord.jsp")改为request.getRequestDispatcher("choice.jsp")后,显示结果是初来了,但是choice.jsp页面上原有的表单都看不到了。
总结起来,就是在同一个页面显示查询条件和查询结果,请问这个问题如何解决呢~~
现在我有一个想法,就是choice.jsp页面提交后,查询的结果显示在choice.jsp页面,并且choice.jsp原有的表单仍然存在。现在我遇到的问题是,将servlet中的request.getRequestDispatcher("showRecord.jsp")改为request.getRequestDispatcher("choice.jsp")后,显示结果是初来了,但是choice.jsp页面上原有的表单都看不到了。
总结起来,就是在同一个页面显示查询条件和查询结果,请问这个问题如何解决呢~~
chois.jsp页面下面放一个<div id="resutl"></div>,查询后把结果页包含到该div里面,document.getElementById('result').innerHTML = xmlHttp.responseText。
NO.1: use the ajax,this is a popular and better style that I also you do .
NO.2: use the statement "if ....else...." so you can judge wether the content is neccessary,simply.
NO.3: when the server respones the request,you can load the content repeat.
表单还是原来的表单。不存在不显示的问题啊/.
跳转回来会刷新页面,所以原来的数据就不存在了,
可以直接把查询条件存入sessio里,返回页面的时候判断一下不就行了吗?、
处理后的结果先用JSTL标签或者Struts标签进行判断,如果有返回true 则显示出来
如果没有返回false 则自动跳进Setvlet里去处理或者跳到对应的Action里处理在来显示
像你的这种写法,他肯定是永远是保持不变的啊……
第二步,把查询条件传入SERLET后,同时request.setAttbute出来,也把结果映射出来。。
最后JSP采用ONload事件,给你的INPUT框赋初值(根据SERLET映射出来的值)。
但是我感觉你没哪个必要将原来的数据保留(个人意见)
比如说:<form><%
if(参数不为空)
{
查询结果。
}
>%