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:cancelknop) 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:
LET OP: Ten behoeve van het kunnen submitten van een form met JavaScript met een hidden property maakt deze Action na het dispatchen indien er een String property in het DynaActionForm aanwezig is met de naam van parameter van de uitgevoerde methode deze leeg.<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.ActionForwardexecute(org.apache.struts.action.ActionMapping mapping, org.apache.struts.action.ActionForm form, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)protected StringgetMethodParameter(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:
executein 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:
getMethodParameterin classUrlPathDispatchAction
-
-