Class ParameterLookupDispatchAction
- java.lang.Object
-
- org.apache.struts.action.Action
-
- org.apache.struts.actions.DispatchAction
-
- nl.b3p.commons.struts.DynaFormDispatchAction
-
- nl.b3p.commons.struts.UrlPathDispatchAction
-
- nl.b3p.commons.struts.ParameterLookupDispatchAction
-
- Direct Known Subclasses:
MethodPropertiesAction
public abstract class ParameterLookupDispatchAction extends UrlPathDispatchAction
Deze abstracte DispatchAction dispatcht naar een publieke methode welke genoemd is in een Map van parameter naar methode naam. Indien het request een parameter uit de Map met niet-lege waarde bevat wordt de bijbehorende methode aangeroepen. Indien er geen methode kan worden gevonden wordtunspecified()
aangeroepen.Indien het request was gecancelled (door het indrukken van een
html:cancel
knop) wordtcancelled()
aangeroepen.Met deze action kunnen verschillende methodes van een Action class worden aangeroepen door meerdere submit buttons op één form; bijvoorbeeld:
<html:submit property="save">Opslaan</html:submit>
<html:submit property="delete" onclick="bCancel = true;">Verwijderen</html:submit>
Of doormiddel van een submit met JavaScript, bijvoorbeeld:
<html:hidden property="filterChange"/> <script language="JavaScript1.1"> <!-- function onFilterChange(event) { bCancel = true; // geen validation op deze functie document.forms[0].filterChange.value = "submit"; document.forms[0].submit(); } // --> </script> <html:select property="filter" onchange="onFilterChange();"> ... </html:select>
Bij deze voorbeelden hoort de volgende subclass:
public class ExampleAction extends ParameterLookupDispatchAction { protected Map getParameterMethodMap() { Map map = new HashMap(); map.put("save", "mySaveMethod"); map.put("delete", myDeleteMethod"); map.put("filterChange", "myFilterChangeMethod"); return map; } public ActionForward mySaveMethod(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ... } idem voor myDeleteMethod en myFilterChangeMethod }
-
-
Field Summary
-
Fields inherited from class nl.b3p.commons.struts.UrlPathDispatchAction
parameterMethodMap
-
Fields inherited from class nl.b3p.commons.struts.DynaFormDispatchAction
types
-
-
Constructor Summary
Constructors Constructor Description ParameterLookupDispatchAction()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.struts.action.ActionForward
execute(org.apache.struts.action.ActionMapping mapping, org.apache.struts.action.ActionForm form, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
protected String
getMethodParameter(org.apache.struts.action.ActionMapping mapping, org.apache.struts.action.ActionForm form, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
-
Methods inherited from class nl.b3p.commons.struts.UrlPathDispatchAction
getDispatchedMethodName, getDispatchedParameter, getMethodPathIndex, getParameterMethodMap, parseParameter, setDispatchMethod
-
Methods inherited from class nl.b3p.commons.struts.DynaFormDispatchAction
cancelled, getMethod, unspecified
-
Methods inherited from class org.apache.struts.actions.DispatchAction
dispatchMethod, getMethodName, getParameter
-
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, saveErrors, saveMessages, saveMessages, saveToken, setLocale, setServlet
-
-
-
-
Method Detail
-
execute
public org.apache.struts.action.ActionForward execute(org.apache.struts.action.ActionMapping mapping, org.apache.struts.action.ActionForm form, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws Exception
- Overrides:
execute
in classUrlPathDispatchAction
- Throws:
Exception
-
getMethodParameter
protected String getMethodParameter(org.apache.struts.action.ActionMapping mapping, org.apache.struts.action.ActionForm form, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
- Overrides:
getMethodParameter
in classUrlPathDispatchAction
-
-