4.7. bounce
4.7.1. Summary
Parameters: href if
Positional parameters in same order.
Pass attribute hash as last to subroutine: no
Must pass named parameter interpolate=1 to cause interpolation.
Invalidates cache: no
Called Routine:
ASP-like Perl call:
None. This tag doesn't work with embedded Perl due to special processing.
[bounce href if]
| Parameters | Description | Default |
| href | DEFAULT_VALUE | |
| if | DEFAULT_VALUE |
| Attributes | Default |
| interpolate (reparse) | No |
| Other_Charactreristics | |
| Invalidates cache | no |
| Container tag | No |
| Has Subtags | No |
| Nests | Yes |
Tag expansion example:
[bounce href if] --- TAGRESULT
ASP-like Perl call:
$Tag->bounce( { href => VALUE_href
if => VALUE_if
}, $body );
or similarly with positional parameters,
$Tag->bounce(href,if, $attribute_hash_reference, $body);
4.7.2. Description
The [bounce ...] tag is designed to send an HTTP redirect (302 status code) to the browser and redirect it to another (possibly Interchange-parsed) page.
It will stop ITL code execution at that point; further tags will not be run through the parser. Bear in mind that if you are inside a looping list, that list will run to completion and the [bounce] tag will not be seen until the loop is complete.
Example of bouncing to an Interchange parsed page:
[if !scratch real_user]
[bounce href="[area violation]"]
[/if]
Note the URL is produced by the [area ...] ITL tag.
Since the HTTP says the URL needs to be absolute, this one might cause a browser warning:
[if value go_home]
[bounce href="/"]
[/if]
But running something like one of the Interchange demos you can do:
[if value go_home]
[bounce href="__SERVER_NAME__/"]
[/if]
[if value go_home]
[bounce href="/"]
[/if]