Synchronous and page navigation
The page navigational aspect is controlled through the flow tag within the flow-config.xml file.
- path attribute
- The path attribute within the flow tag represents the incoming
request to the controller Servlet. From the sample below "homepage"
is the incoming request and generally the request URL looks like the
example shown below where the ServerURL and the portNo is the location
where the IBM® Product Master instance
is running.
http://ServerURL:portNo/homepage.wpc
- command attribute
- The command attribute of the flow tag is a place holder for the Java™ class which gets invoked based on the incoming request and the further details are under the types of command section.
- method attribute
- The method attribute of the flow tag is a place holder for the
method that needs to be executed on the command class. If the method
attribute is left empty
method=””
, the framework assumes that the command has a default method name called execute().The flow-dispatch tag represents the resultant JSP that has to be dispatched based on the string returned from the named method (declared in the “method” element) in the class (declared in the “command” element).
- name attribute
- The name attribute represents return type of the commands method.
- location attribute
- The location attribute is the place holder for the URL which can be a JSP shown below or it can be a URL of the framework like something.wpc.
- dispatchType attribute
- The dispatchType attribute of the flow tag represents the type
of the dispatch this can "include," "forward," or "redirect".
- include
- Includes the content of a resource (servlet, JSP page, HTML file) in the response. This method enables programmatic server-side includes.
- forward
- Forwards a request from a servlet to another resource (servlet, JSP file, or HTML file) on the server.
- redirect
- The request with redirect to other requesting resource.
Note: All of the above mentioned dispatchType attribute values are equivalent to the Servlets Request Dispatching techniques. For more information, refer to the RequestDispatcher class on the servlets specification
There can be a number of flow tags within a flows tag and there
can be a number of flow-dispatch tags within a flow tag. Here is sample
code for the flows:
<flows>
<flow path="homepage" command="com.ibm.ccd.ui.homepage.HomePageCommand"
method="getHomePage">
<flow-dispatch name="classic" location="/ccd_workflow/collaboration_console.jsp"
dispatchType="forward" />
<flow-dispatch name="newhomepage" location="/utils/homepage.jsp"
dispatchType="forward"/>
<flow-dispatch name="customhomepage" location="/utils/custom_page.jsp"
dispatchType="forward"/>
</flow>
</flows>