Tuesday, July 15, 2008

jsp:forward

Jsp:Forward

Forwards a client request to an HTML file, JSP file, or servlet for processing.

Syntax

<-jsp:forward page={"relativeURL" | "<%= expression %>"} />
or
<-jsp:forward page={"relativeURL" | "<%= expression %>"} >
<-jsp:param name="parameterName" value="{parameterValue | <%= expression %>}" />+
<-/jsp:forward>

Example

<-jsp:forward page="/servlet/login" />
<-jsp:forward page="/servlet/login">
<-jsp:param name="username" value="jsmith" />
<-/jsp:forward>

Description

The element forwards the request object containing the client request information from one JSP file to another file. The target file can be an HTML file, another JSP file, or a servlet, as long as it is in the same application context as the forwarding JSP file. The lines in the source JSP file after the element are not processed.

You can pass parameter names and values to the target file by using a clause. An example of this would be passing the parameter name username (with name="username") and the value scott (with value="scott") to a servlet login file as part of the request. If you use , the target file should be a dynamic file that can handle the parameters.

Be careful when using with unbuffered output. If you have used the <%@ page %> directive with buffer=none to specify that the output of your JSP file should not be buffered, and if the JSP file has any data in the out object, using will cause an IllegalStateException.

Attributes

# page="{relativeURL | <%= expression %>}"

A String or an expression representing the relative URL of the file to which you are forwarding the request. The file can be another JSP file, a servlet, or any other dynamic file that can handle a request object.

The relative URL looks like a path-it cannot contain a protocol name, port number, or domain name. The URL can be absolute or relative to the current JSP file. If it is absolute (beginning with a /), the path is resolved by your Web or application server.
# <-jsp:param name="parameterName" value="{parameterValue | <%= expression %>}" />+

Sends one or more name/value pairs as parameters to a dynamic file. The target file should be dynamic, that is, a JSP file, servlet, or other file that can process the data that is sent to it as parameters.

You can use more than one clause if you need to send more than one parameter to the target file. The name attribute specifies the parameter name and takes a case-sensitive literal string as a value. The value attribute specifies the parameter value and takes either a case-sensitive literal string or an expression that is evaluated at request time.

No comments: