Overview  Package   Class  Tree  Serialized  Deprecated  Index  Help 

com.ibm.wps.struts.action
Class WpsLookupDispatchAction

java.lang.Object
  extended byorg.apache.struts.action.Action
      extended bycom.ibm.wps.struts.action.StrutsAction
          extended bycom.ibm.wps.struts.action.WpsDispatchAction
              extended bycom.ibm.wps.struts.action.WpsLookupDispatchAction

public abstract class WpsLookupDispatchAction
extends WpsDispatchAction

A Portal friendly implementation of the LookupDispatchAction class. The following comments are from the Struts LookupDispatchAction javadoc.

An abstract Action that dispatches to the subclass mapped execute method. This is useful in cases where an HTML form has multiple submit buttons with the same name. The button name is specified by the parameter property of the corresponding ActionMapping. To configure the use of this action in your struts-config.xml file, create an entry like this:

   <action path="/test"
           type="org.example.MyAction"
           name="MyForm"
          scope="request"
          input="/test.jsp"
      parameter="action"/>
 

which will use the value of the request parameter named "action" to locate the corresponding key in ApplicationResources. For example, you might have the following ApplicationResources.properties:

    button.add=Add Record
    button.delete=Delete Record
 

And your JSP would have the following format for submit buttons:

   <html:form action="/test">
    <html:submit property="action">
      <bean:message key="button.add"/>
    </html:submit>
    <html:submit property="action">
      <bean:message key="button.delete"/>
    </html:submit>
  </html:form>
 

Your subclass must implement both getKeyMethodMap and the methods defined in the map. An example of such implementations are:

  protected Map getKeyMethodMap() {
      Map map = new HashMap();
      map.put("button.add", "add");
      map.put("button.delete", "delete");
      return map;
  }

  public ActionForward add(ActionMapping mapping,
          ActionForm form,
          PortletRequest request )
          throws IOException, ServletException {
      // do add
      return mapping.findForward("success");
  }

  public ActionForward delete(ActionMapping mapping,
          ActionForm form,
          PortletRequest request )
          throws IOException, ServletException {
      // do delete
      return mapping.findForward("success");
  }
 

NOTE - If duplicate values exist for the keys returned by getKeys, only the first one found will be returned. If no corresponding key is found then an exception will be thrown.

Since:
5.0

Field Summary
protected  java.util.Map keyMethodMap
          Resource key to method name lookup.
protected  java.util.Map localeMap
          Reverse lookup map from resource value to resource key.
 

Fields inherited from class com.ibm.wps.struts.action.WpsDispatchAction
clazz, log, messages, methods, types
 

Fields inherited from class org.apache.struts.action.Action
ACTION_SERVLET_KEY, APPLICATION_KEY, DATA_SOURCE_KEY, defaultLocale, ERROR_KEY, EXCEPTION_KEY, FORM_BEANS_KEY, FORWARDS_KEY, LOCALE_KEY, MAPPING_KEY, MAPPINGS_KEY, MESSAGE_KEY, MESSAGES_KEY, MULTIPART_KEY, PLUG_INS_KEY, REQUEST_PROCESSOR_KEY, servlet, SERVLET_KEY, TRANSACTION_TOKEN_KEY
 

Constructor Summary
WpsLookupDispatchAction()
           
 

Method Summary
 org.apache.struts.action.ActionForward execute(org.apache.struts.action.ActionMapping mapping, org.apache.struts.action.ActionForm form, org.apache.jetspeed.portlet.PortletRequest request)
          Executes the Struts action.
protected abstract  java.util.Map getKeyMethodMap()
          Provides the mapping from resource key to method name.
 

Methods inherited from class com.ibm.wps.struts.action.WpsDispatchAction
dispatchMethod, getMethod, unspecified
 

Methods inherited from class com.ibm.wps.struts.action.StrutsAction
execute, execute, execute, sendError, sendError
 

Methods inherited from class org.apache.struts.action.Action
generateToken, getDataSource, getDataSource, getLocale, getResources, getResources, getResources, getServlet, isCancelled, isTokenValid, isTokenValid, perform, perform, resetToken, saveErrors, saveMessages, saveToken, setLocale, setServlet, toHex
 

Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

localeMap

protected java.util.Map localeMap
Reverse lookup map from resource value to resource key.


keyMethodMap

protected java.util.Map keyMethodMap
Resource key to method name lookup.

Constructor Detail

WpsLookupDispatchAction

public WpsLookupDispatchAction()

Method Detail

execute

public org.apache.struts.action.ActionForward execute(org.apache.struts.action.ActionMapping mapping,
                                                      org.apache.struts.action.ActionForm form,
                                                      org.apache.jetspeed.portlet.PortletRequest request)
                                               throws java.lang.Exception
Executes the Struts action.

Overrides:
execute in class WpsDispatchAction
Parameters:
mapping - The ActionMapping used to select this instance
form - The optional ActionForm bean for this request (if any)
request - The portlet request we are processing
Returns:
Describes where and how control should be forwarded, can be null
Throws:
java.lang.Exception - if the application business logic throws an exception

getKeyMethodMap

protected abstract java.util.Map getKeyMethodMap()
Provides the mapping from resource key to method name.

Returns:
Resource key / method name map.

Overview  Package   Class  Tree  Serialized  Deprecated  Index  Help 

 

WebSphere is a trademark of the IBM Corporation in the United States, other countries, or both.

 

IBM is a trademark of the IBM Corporation in the United States, other countries, or both.