读书人

Jsp:forward 与 respense.sendRed

发布时间: 2013-03-25 15:43:04 作者: rapoo

Jsp:forward 与 respense.sendRedirect() 区别

</jsp:param>

?


或者这样写:

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


<jsp:param name="parametername" value="{parametervalue | <%= expression %>}" />+


</jsp:forward>?

6.例子

<jsp:forward page="/servlet/login" />

<jsp:forward page="/servlet/login">

<jsp:param name="username" value="jsmith" />

</jsp:forward>

描述

<jsp:forward>标签从一个jsp文件向另一个文件传递一个包含用户请求的request对象.<jsp:forward>标签以下的代码,将不能执行.


你能够向目标文件传送参数和值,在这个例子中我们传递的参数名为username,值为scott,如果你使用了<jsp:param>标签的话,目标文件必须是一个动态的文件,能够处理参数.


如果你使用了非缓冲输出的话,那么使用<jsp:forward>时就要小心。
如果在你使用<jsp:forward>之前,jsp文件已经有了数据,那么文件执行就会出错.

属性

page="{relativeurl | <%= expression %>}"
这里是一个表达式或是一个字符串用于说明你将要定向的文件或url.这个文件可以是jsp,程序段,或者其它能够处理request对象的文件(如asp,cgi,php).

<jsp:param name="parametername" value="{parametervalue | <%= expression %>}" />+
向一个动态文件发送一个或多个参数,这个文件一定是动态文件.

如果你想传递多个参数,你可以在一个jsp文件中使用多个<jsp:param>。name指定参数名,value指定参数值.



<jsp:forward>例子

<%@ page contentType="text/html;charset=gb2312" %>

<html>

?????? <head>

????????????? <title>test</title>

?????? </head>

?????? <body>

????????????? <jsp:forward page="forwardTo.jsp">

???????????????????? <jsp:param name="userName" value="riso"/>

????????????? </jsp:forward>

?????? </body>

</html>

forwardTo.jsp

<%@ page contentType="text/html;charset=gb2312" %>

<!--forwardTo.jsp-->

<%

?????? String useName=request.getParameter("userName");

?????? String outStr= "谢谢光临!";

?????? outStr+=useName;

?????? out.println(outStr);

%>

redirect的例子:

譬如:client 通过XXX\index.jsp?name=gauss&pwd=123访问index.jsp,而index.jsp中有< jsp:forward page="login.jsp"/>,则在login.jsp中可以通过request.getParameter()得到name和pwd,而<%response.sendRedirect("login.jsp");%>得不到。

读书人网 >JavaScript

热点推荐