jsp forward指令

来源:互联网 发布:autocad软件正版价格 编辑:程序博客网 时间:2024/05/04 14:12

forward指令用于将页面响应转发到另外的页面。

语法一:

<jsp:forward page="{relativeURL|<%=expression%>}"></jsp:forward>

语法二:

<jsp:forward page="{relativeURL|<%=expression%>}"><jsp:param name="..." value="..."></jsp:param></jsp:forward>

第二种语法用于在转发时增加额外的参数,值可以通过HttpServletRequest类的getParameter()方法获取。

特点:

执行forward指令时,用户请求的地址没有改变,但页面内容却完全变为被forward目标页的内容。

从表面上看,<jsp:forward.../>指令给人一种感觉:它是将用户请求“转发”到了另一个新页面,实际上,它并没有重新向新页面发送请求,只是完全采用了新页面来对用户生成响应,请求应然是一次请求,所以参数,属性都不会丢失。

扩展:

上面介绍的forward是通过jsp提供的动作指令进行的,request对象也可以执行forward。

HttpServletRequest类提供了一个getRequestDispatcher(String path)方法,其中path就是希望forward或者include的目标路径,该方法返回RequestDispatcher,改对象提供了如下两个方法:

forward(ServletRequest request,ServletResponse response):执行forward

include(ServletRequest request,ServletResponse response):执行include

如下代码行可以将a.jspyemian include到本页面中:

getRequestDispatcher("/a.jsp").include(request,response);

如下代码可以将请求forward到a.jsp页面:

getRequestDispatcher("/a.jsp").forward(request,response);


(内容参考疯狂java做的笔记,违法必删)

0 0
原创粉丝点击