View Javadoc

    1   /*
    2    * $Id: EventActionDispatcherExample.java 471754 2006-11-06 14:55:09Z husted $
    3    *
    4    * Licensed to the Apache Software Foundation (ASF) under one
    5    * or more contributor license agreements.  See the NOTICE file
    6    * distributed with this work for additional information
    7    * regarding copyright ownership.  The ASF licenses this file
    8    * to you under the Apache License, Version 2.0 (the
    9    * "License"); you may not use this file except in compliance
    10   * with the License.  You may obtain a copy of the License at
    11   *
    12   *  http://www.apache.org/licenses/LICENSE-2.0
    13   *
    14   * Unless required by applicable law or agreed to in writing,
    15   * software distributed under the License is distributed on an
    16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    17   * KIND, either express or implied.  See the License for the
    18   * specific language governing permissions and limitations
    19   * under the License.
    20   */
    21  package org.apache.struts.webapp.dispatch;
    22
    23  import javax.servlet.http.HttpServletRequest;
    24  import javax.servlet.http.HttpServletResponse;
    25  import org.apache.struts.actions.ActionDispatcher;
    26  import org.apache.struts.actions.EventActionDispatcher;
    27  import org.apache.struts.action.Action;
    28  import org.apache.struts.action.ActionForm;
    29  import org.apache.struts.action.ActionForward;
    30  import org.apache.struts.action.ActionMapping;
    31  import org.apache.struts.action.ActionMessage;
    32  import org.apache.struts.action.ActionMessages;
    33
    34  /**
    35   * Example EventActionDispatcher.
    36   *
    37   * @version $Rev: 471754 $ $Date: 2006-11-06 08:55:09 -0600 (Mon, 06 Nov 2006) $
    38   */
    39  public class EventActionDispatcherExample extends Action {
    40
    41      private ActionDispatcher dispatcher
    42                                   = new EventActionDispatcher(this);
    43
    44      private int fooCount;
    45      private int barCount;
    46
    47      /**
    48       * Execute method.
    49       *
    50       * @param mapping The ActionMapping used to select this instance
    51       * @param form The optional ActionForm bean for this request
    52       * @param request The servlet request we are processing
    53       * @param response The servlet response we are creating
    54       *
    55       * @exception Exception if business logic throws an exception
    56       */
    57      public ActionForward execute(ActionMapping mapping,
    58                                   ActionForm form,
    59                                   HttpServletRequest request,
    60                                   HttpServletResponse response)
    61          throws Exception {
    62
    63          return dispatcher.execute(mapping, form, request, response);
    64
    65      }
    66
    67      /**
    68       * Example "foo" method.
    69       *
    70       * @param mapping The ActionMapping used to select this instance
    71       * @param form The optional ActionForm bean for this request
    72       * @param request The servlet request we are processing
    73       * @param response The servlet response we are creating
    74       *
    75       * @exception Exception if business logic throws an exception
    76       */
    77      public ActionForward doFoo(ActionMapping mapping,
    78                                 ActionForm form,
    79                                 HttpServletRequest request,
    80                                 HttpServletResponse response)
    81          throws Exception {
    82
    83          fooCount++;
    84
    85          ActionMessages messages = new ActionMessages();
    86          messages.add("foo", new ActionMessage("count.foo.message", fooCount+""));
    87          saveMessages(request, messages);
    88
    89          return (mapping.findForward("success"));
    90
    91      }
    92
    93      /**
    94       * Example "bar" method.
    95       *
    96       * @param mapping The ActionMapping used to select this instance
    97       * @param form The optional ActionForm bean for this request
    98       * @param request The servlet request we are processing
    99       * @param response The servlet response we are creating
    100      *
    101      * @exception Exception if business logic throws an exception
    102      */
    103     public ActionForward doBar(ActionMapping mapping,
    104                                ActionForm form,
    105                                HttpServletRequest request,
    106                                HttpServletResponse response)
    107         throws Exception {
    108         barCount++;
    109
    110         ActionMessages messages = new ActionMessages();
    111         messages.add("bar", new ActionMessage("count.bar.message", barCount+""));
    112         saveMessages(request, messages);
    113
    114         return (mapping.findForward("success"));
    115
    116     }
    117
    118 }