当前位置: 代码迷 >> Java Web开发 >> RequestDispatcher
  详细解决方案

RequestDispatcher

热度:408   发布时间:2009-10-16 16:15:56.0
RequestDispatcher
我现在想要把

            RequestDispatcher rd = request.getRequestDispatcher("");
                rd.forward(request,response);



封装起来,方便以后Servlet以后调用,不知道怎么封装呢,
我封装后,他是另外一个类,不NEW对象而调用可以吗??


[ 本帖最后由 lovemm 于 2009-10-16 16:29 编辑 ]
搜索更多相关主题的帖子: request  封装  

----------------解决方案--------------------------------------------------------
把你想要是值传进来,想得到的结果return出去就行了,
RequestDispatcher rd = request.getRequestDispatcher("");
                rd.forward(request,response);
你这段是个跳转,
要封装直接把request,response直接传进去,其实你这个方法getRequestDispatcher("");  这里是要传一个跳转页面的,把这个参数也传进来。
--不过个人认为这两句话没必要封装!

----------------解决方案--------------------------------------------------------
还有一个问题啊,就是我在显示后台的servlet调用show这个方法来列出里面的文章,但是在显示前台的servlet也同样用show这个方法,除了是servlet是不同之外,其他的方法,变量都一样的,后台可以列出,但是在前台就不可以了,为什么我的前台就是不列出,只能列出最新的,还有,在jsp里面镶嵌的代码都和后台的一样,但是就是不行,为什么啊,我弄了好几天了,
----------------解决方案--------------------------------------------------------
不太明白你在说什么,给你简单说一下,你目前的设计模式是最简单的MVC
想要显示数据库内的数据在页面上。流程大致为这样。首先某起点触发C层,就是你的servlet,然后由servlet去调用后台M层获取数据。存储在request或其他对象里。再由servlet跳转到V层,就是你的JSP页面。
也就是用你上边那句request.getRequestDispatcher("XXXX.jsp").forward(request,response);
如果你没有用标签,那么在你的JSP页面上必须用JAVA代码接收值
大致写法如下。
<%xxx xxx = request.getAttribute("xxxx")%>
再用<%=xxx.属性%>
把值取出来。
----------------解决方案--------------------------------------------------------
我有打开数据库来太来列出我的文章,也有用request.setAttribute("LA"request.setAttribute("LA",as.ListAll(id,Integer.parseInt(pages), 10)),as,是M层的对象,V层的JSP用标签<c:forEach var="LOnly" items="LA">来列出我前台的文章,我的后台显示也是用这个方法,但是在后台可以显示,但前台就只能显示最新的,无法全部列出
----------------解决方案--------------------------------------------------------
写错了,是这个才对<c:forEach var="LOnly" items="${LA}">
----------------解决方案--------------------------------------------------------