<jsp:forward>
Forwards a request to a web resource.
JSP Syntax
<jsp:forward page="{relativeURL| '${' Expression'}' | <%=expression%>}" { /> | > [<jsp:param name="parameterName" value="{parameterValue| '${' Expression '}' | <%=expression%>}" } /> ]+ </jsp:forward>}
XML Syntax
<jsp:forward page="{relativeURL | '${' Expression '}' |
%= expression % }" { /> | > [<jsp:param name="parameterName"
value="{parameterValue | '${' Expression '}' | %= expression %}" }
/> ]+ </jsp:forward> }
Examples
<jsp:forward page="/servlet/login" /> <jsp:forward page="/servlet/login"> <jsp:param name="username" value="jsmith" /> </jsp:forward>
Description
The jsp:forward element forwards the request object containing the client request information from one JSP page to another resource. The target resource can be an HTML file, another JSP page, or a servlet, as long as it is in the same application context as the forwarding JSP page. The lines in the source JSP page after the jsp:forward element are not processed.
You can pass parameter names and values to the target resource by using a jsp:param 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 as part of the request. If you use jsp:param, the target resource should be a dynamic resource that can handle the parameters.
Be careful when using jsp:forward with unbuffered output. If you have used the page directive with buffer="none" to specify that the output of your JSP page should not be buffered, and if the JSP page has any data in the out object, using jsp:forward will cause an IllegalStateException.
Attributes
page="{relativeURL| <%=expression%>}"- A
Stringor an expression representing the relative URL of the component to which you are forwarding the request. The component can be another JSP page, a servlet, or any other object that can respond to a request.- 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 page. If it is absolute (beginning with a
/), the path is resolved by your web or application server. - 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 page. If it is absolute (beginning with a
- A
<jsp:param name="parameterName" value="{parameterValue | <%= expression %>}" />+- Sends one or more name/value pairs as parameters to a dynamic resource. The target resource should be dynamic, that is, a JSP page, servlet, or other resource that can process the data that is sent to it as parameters.
- You can use more than one
jsp:paramclause if you need to send more than one parameter to the target resource. Thenameattribute specifies the parameter name and takes a case-sensitive literal string as a value. Thevalueattribute specifies the parameter value and takes either a case-sensitive literal string or an expression that is evaluated at request time. - You can use more than one
- Sends one or more name/value pairs as parameters to a dynamic resource. The target resource should be dynamic, that is, a JSP page, servlet, or other resource that can process the data that is sent to it as parameters.
