Java技術專區--Hilly

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

          官方Class LookupDispatchAction說明文檔(轉)

          Posted on 2006-07-20 18:18 duyouyou.com 閱讀(497) 評論(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住
          主站蜘蛛池模板: 聊城市| 巩留县| 紫云| 塘沽区| 上栗县| 襄汾县| 天等县| 搜索| 石狮市| 理塘县| 乌兰浩特市| 三台县| 平陆县| 涿鹿县| 定南县| 柘城县| 衡阳县| 耒阳市| 岱山县| 沈阳市| 多伦县| 花莲市| 陆良县| 揭阳市| 长兴县| 庆安县| 富蕴县| 汝南县| 同德县| 利津县| 嘉定区| 武强县| 扶沟县| 江安县| 昆山市| 库尔勒市| 大丰市| 岳池县| 祁连县| 铁岭县| 杭锦后旗|