Java技術專區--Hilly

          http://blog.duyouyou.com
             :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理

          官方Class LookupDispatchAction說明文檔(轉)

          Posted on 2006-07-20 18:18 duyouyou.com 閱讀(484) 評論(0)  編輯  收藏 所屬分類: web技術

          org.apache.struts.actions

          Class LookupDispatchAction



          java.lang.Object extended byorg.apache.struts.action.Actionextended byorg.apache.struts.actions.DispatchActionextended byorg.apache.struts.actions.LookupDispatchAction

          public abstract class LookupDispatchAction
          extends DispatchAction


          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="method"/>

          which will use the value of the request parameter named "method" 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="method">
          ??? <bean:message key="button.add"/>
          </html:submit>
          <html:submit property="method">
          ???<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, HttpServletRequest request,
          HttpServletResponse response) throws IOException, ServletException {
          // do add
          return mapping.findForward("success");
          }
          public ActionForward delete(ActionMapping mapping,
          ActionForm form, HttpServletRequest request,
          HttpServletResponse response) throws IOException, ServletException {
          // do delete
          return mapping.findForward("success");
          }

          Notes - 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. You can override the method unspecified to
          provide a custom handler. If the submit was cancelled (a html:cancel button
          was pressed), the custom handler cancelled will be used instead.


          Field Summary
          protected ?java.util.MapkeyMethodMap
          ??????????Resource key to method name lookup.
          protected ?java.util.MaplocaleMap
          ??????????Reverse lookup map from resource value to resource key.
          ?
          Fields inherited from class org.apache.struts.actions.DispatchAction
          clazz, log, messages, methods, types
          ?
          Fields inherited from class org.apache.struts.action.Action
          defaultLocale, servlet
          ?
          Constructor Summary
          LookupDispatchAction()
          ???????????
          ?
          Method Summary
          ?ActionForwardexecute(ActionMapping?mapping, ActionForm?form, javax.servlet.http.HttpServletRequest?request, javax.servlet.http.HttpServletResponse?response)
          ??????????Process the specified HTTP request, and create the corresponding HTTP response (or forward to another web component that will create it).
          protected abstract ?java.util.MapgetKeyMethodMap()
          ??????????Provides the mapping from resource key to method name.
          protected ?java.lang.StringgetLookupMapName(javax.servlet.http.HttpServletRequest?request, java.lang.String?keyName, ActionMapping?mapping)
          ??????????Lookup the method name corresponding to the client request's locale.
          protected ?java.lang.StringgetMethodName(ActionMapping?mapping, ActionForm?form, javax.servlet.http.HttpServletRequest?request, javax.servlet.http.HttpServletResponse?response, java.lang.String?parameter)
          ??????????Returns the method name, given a parameter's value.
          private ?java.util.MapinitLookupMap(javax.servlet.http.HttpServletRequest?request, java.util.Locale?userLocale)
          ??????????This is the first time this Locale is used so build the reverse lookup Map.
          ?
          Methods inherited from class org.apache.struts.actions.DispatchAction
          cancelled, dispatchMethod, getMethod, unspecified
          ?
          Methods inherited from class org.apache.struts.action.Action
          addErrors, addMessages, execute, generateToken, getDataSource, getDataSource, getErrors, getLocale, getMessages, getResources, getResources, getServlet, isCancelled, isTokenValid, isTokenValid, resetToken, saveErrors, saveErrors, saveMessages, saveMessages, saveToken, setLocale, setServlet
          ?
          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

          LookupDispatchAction

          public LookupDispatchAction()
          Method Detail

          execute

          public ActionForwardexecute(ActionMapping?mapping,
          ActionForm?form,
          javax.servlet.http.HttpServletRequest?request,
          javax.servlet.http.HttpServletResponse?response)
          throws java.lang.Exception
          Process the specified HTTP request, and create the corresponding HTTP
          response (or forward to another web component that will create it).
          Return an ActionForward instance describing where and how control should
          be forwarded, or null if the response has already been completed.

          Overrides:
          execute in class DispatchAction
          Parameters:
          mapping - The ActionMapping used to select this instance
          request - The HTTP request we are processing
          response - The HTTP response we are creating
          form - The optional ActionForm bean for this request (if any)
          Returns:
          Describes where and how control should be forwarded.
          Throws:
          java.lang.Exception - if an error occurs

          initLookupMap

          private java.util.Map initLookupMap(
          ?????????????????????????????????javax.servlet.http.HttpServletRequest?request,
          java.util.Locale?userLocale)
          This is the first time this Locale is used so build the reverse lookup Map.
          Search for message keys in all configured MessageResources for the current
          module.


          getKeyMethodMap

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

          Returns:
          Resource key / method name map.

          getLookupMapName

          protected java.lang.String getLookupMapName(
          ????????????????????????javax.servlet.http.HttpServletRequest?request,
          java.lang.String?keyName,
          ActionMapping?mapping)
          throws javax.servlet.ServletException
          Lookup the method name corresponding to the client request's locale.

          Parameters:
          request - The HTTP request we are processing
          keyName - The parameter name to use as the properties key
          mapping - The ActionMapping used to select this instance
          Returns:
          The method's localized name.
          Throws:
          javax.servlet.ServletException - if keyName cannot be resolved
          Since:
          Struts 1.2.0

          getMethodName

          protected java.lang.String getMethodName(ActionMapping?mapping,
          ActionForm?form,
          javax.servlet.http.HttpServletRequest?request,
          javax.servlet.http.HttpServletResponse?response,
          java.lang.String?parameter)
          throws java.lang.Exception
          Returns the method name, given a parameter's value.

          Overrides:
          getMethodName in class DispatchAction
          Parameters:
          mapping - The ActionMapping used to select this instance
          form - The optional ActionForm bean for this request (if any)
          request - The HTTP request we are processing
          response - The HTTP response we are creating
          parameter - The ActionMapping parameter's name
          Returns:
          The method's name.
          Throws:
          java.lang.Exception
          Since:
          Struts 1.2.0


          Copyright ? 2000-2004 - The Apache Software Foundation


          Hold住
          主站蜘蛛池模板: 固原市| 桓台县| 巧家县| 海南省| 唐山市| 开化县| 青河县| 永登县| 兴业县| 镇江市| 曲麻莱县| 渝中区| 紫金县| 乐安县| 三都| 尉氏县| 刚察县| 乐清市| 泾阳县| 怀安县| 扶风县| 突泉县| 都安| 靖江市| 灵宝市| 宜章县| 安西县| 喀喇| 偏关县| 阿巴嘎旗| 松溪县| 马鞍山市| 通许县| 广德县| 政和县| 吉木萨尔县| 菏泽市| 灵寿县| 小金县| 辽阳县| 微博|