2.7 Understanding URL Syntax

This section explains the URL for an Application Express application page, how to use f?p syntax to link pages, and how to call pages using a page alias or button URL.

2.7.1 About the Application Page URL

The URL that displays for each page indicates the location of Oracle Application Express and identifies the address of Oracle Application Express, the application ID, page number, and session ID. For example:

http://apex.somewhere.com/pls/apex/f?p=4350:1:220883407765693447

This example indicates:

  • http: is the scheme.

  • apex.somewhere.com is the domain name of the server. It can also include a port number or an IP address.

  • pls is the indicator to use the mod_plsql cartridge (if applicable)

  • apex is the Database Access Descriptor (DAD) name. The DAD describes how HTTP Server connects to the database server so that it can fulfill an HTTP request. The default value is apex.

  • f?p= is a prefix used by Oracle Application Express to route the request to the correct engine process.

  • 4350 is the ID of the application being called. The application ID is a unique number that identifies each application.

  • 1 is the number of the page within the application.

  • 220883407765693447 is the session number. When you run an application, the Application Express engine generates a session number that serves as a key to the user's session state.

2.7.2 About Using f?p Syntax to Link Pages

You can create links between pages in your application using the following f?p syntax:

f?p=App:Page:Session:Request:Debug:ClearCache:itemNames:itemValues:PrinterFriendly

Table 2-2 describes the arguments you can pass when using f?p syntax.

Table 2-2 f?p Syntax Arguments

Syntax Description

App

Indicates an application ID or alphanumeric application alias.

Page

Indicates a page number or alphanumeric page alias.

Session

Identifies a session ID. You can reference a session ID to create hypertext links to other pages that maintain the same session state by passing the session number. You can reference the session ID using the syntax:

  • Short substitution string: &SESSION.

  • PL/SQL: V('SESSION')

  • Bind variable: :APP_SESSION

Request

Sets the value of REQUEST. Each application button sets the value of REQUEST to the name of the button which enables accept processing to reference the name of the button when a user clicks it. You can reference REQUEST using the syntax:

  • Substitution string: &REQUEST.

  • PL/SQL: V('REQUEST')

  • Bind variable: :REQUEST

Debug

Displays application processing details. Valid values for the DEBUG flag include:

  • YES.

  • LEVELn

  • NO

Setting this flag to YES displays details about application processing. Setting this flag to LEVELn (where n is between 1 and 9) controls the level of debug detail that displays. The value of YES equals LEVEL4.

You can reference the Debug flag using the following syntax:

  • Short substitution string: &DEBUG.

  • PL/SQL: V('DEBUG')

  • Bind variable: :DEBUG

See Also: "Debugging an Application"

ClearCache

Clears the cache. This sets the value of items to null.

To clear cached items on a single page, specify the numeric page number. To clear cached items on multiple pages, use a comma-separated list of page numbers. Clearing a page's cache also resets any stateful processes on the page. Individual or comma-separated values can also include collection names to be reset or the keyword RP, which resets region pagination on the requested page. The keyword APP clears cache for all pages and all application-level items in the current application and removes sort preferences for the current user. The keyword SESSION achieves the same result as the APP keyword, but clears items associated with all applications that have been used in the current session.

See Also: "Clearing Session State"

itemNames

Comma-delimited list of item names used to set session state with a URL.

itemValues

List of item values used to set session state within a URL. To pass a comma in an item value, enclose the characters with backslashes. For example:

\123,45\

Every character sequence except backslash comma (\,) can be enclosed with backslash.

PrinterFriendly

Determines if the page is being rendered in printer friendly mode. If PrinterFriendly is set to Yes, then the page is rendered in printer friendly mode. The value of PrinterFriendly can be used in rendering conditions to remove elements such as regions from the page to optimize printed output.

You can reference the printer friendly preference by using the following syntax:

V('PRINTER_FRIENDLY')

When referenced, the page displays using a printer friendly template. The Application Express engine displays all text within HTML form fields as text. The printer friendly template does not need to have the #FORM_OPEN# or #FORM_CLOSE# tags. The objective is to be able to display information with few tables and in a format suitable for printing.


It is important to understand how f?p syntax works. Application Builder includes many wizards that automatically create these references for you. However, you may have to create the syntax yourself in some situations. The following sections describe specific instances that use f?p syntax to link pages.

2.7.3 Application Alias

An Application Alias is a unique alternate alphanumeric application identifier that developers can use in place of the application ID. You define an Application Alias editing the Application Definition.

2.7.4 Page Alias

A Page Alias is a unique alternate alphanumeric for a page number. Developers can use a Page Alias in place of the page number ID. You define a Page Alias by editing the page attributes.

2.7.5 Calling a Page Using an Application and Page Alias

Application and page aliases must consist of valid Oracle identifiers, cannot contain any whitespace, and are not case-sensitive. The following example calls a page using an application and a page alias from within an application. It runs the page home of the application myapp and uses the current session ID.

f?p=myapp:home:&APP_SESSION.

Application aliases must be unique within a workspace. If an application in a different workspace has the same application alias, use the &c argument to specify the workspace name. For example:

f?p=common_alias:home:&APP_SESSION.&c=WORKSPACE_A

2.7.6 Calling a Page from a Button URL

When you create a button, you can specify a URL to redirect to when the user clicks the button. This example runs page 6001 of application 6000 and uses the current session ID.

f?p=6000:6001:&APP_SESSION.

Note that this is only one approach to using a button. This method bypasses page submission and acts as a hyperlink on the page. You can also have a button click submit a page. In that approach, clicking the button submits the page for processing, allowing forms to be submitted and session state to be saved.