BBjHttpResponse::encodeRedirectURL

Description

In BBj 12.0 and higher, this method encodes the specified URL for use in the BBjHttpResponse::sendRedirect(String) method or, if encoding is not needed, returns the URL unchanged. The implementation of this method includes the logic to determine whether the session ID needs to be encoded in the URL. Because the rules for making this determination can differ from those used to decide whether to encode a normal link, this method is separated from the encodeURL method.

All URLs sent to the BBjHttpResponse::sendRedirect(String) method should be run through this method. Otherwise, URL rewriting cannot be used with browsers which do not support cookies.

Syntax

Return Value

Method

String

encodeRedirectURL(string url)

Parameters

Variable

Description

url

the url to be encoded.

Return Value

the encoded URL if encoding is needed; the unchanged URL otherwise.

Remarks

The example below shows encoding a URL for redirect

Example

REM Obtain the instance of the BBjAPI object
LET myAPI! = BBjAPI()
MyServlet! = new MyServlet()
 
data!.setCallback(data!.ON_WEB_CONNECTION, myServlet!, "myMethod")
 
PROCESS_EVENTS

class public MyServlet
  method public void myMethod(BBjServletEvent p_event!)
    LET chan = UNT
    request! = p_event!.getHttpRequest()
    response! = p_event!.getHttpResponse()
    response!.setContentType("text/html")
    open (chan)"JSERVLET"
    print (chan)"<html><body><h1>Hello BBj!</h1>"
    redirectURL$ = response!.encodeRedirectURL("/servlet/anotheServlet?wibble=123")
    response!.sendRedirect(redirectURL$)
    print (chan)"</body></html>"
    close (chan)
  methodend
classend

See Also

BBjAPI

BBjServletEvent

BBjHttpRequest

BBjHttpResponse

BBjHttpResponse::sendRedirect()