He aquí y la idea de que es a la vez un poco de solución de programación y configuración. Se puede crear una costumbre ActionMapping ...
public class YourPOSTRequiredActionMapping extends ActionMapping { }
... y el uso de sus puntales de configuración para las asignaciones que sólo están POST.
<action path="/your/path" type="YourAction" className="YourPOSTRequiredActionMapping" />
Entonces, se podría extender los puntales RequestProcessor y anular processMapping
public class YourRequestProcessor extends RequestProcessor {
protected ActionMapping processMapping(HttpServletRequest request, HttpServletResponse response, String path) throws IOException {
ActionMapping mapping = super.processMapping(request, response, path);
if (mapping instanceof YourPOSTRequiredActionMapping) {
if (!request.getMethod().equals("POST")) {
mapping = null;
}
}
return mapping;
}
}
Asegúrese de configurar su configuración puntales de usar YourRequestProcessor.
<controller processorClass="YourRequestProcessor" nocache="true" contentType="text/html; charset=UTF-8" locale="false" />
He basado esto en algún código de trabajo anterior, pero ni siquiera he compilado el código de ejemplo anterior.
¿Qué te gustaría que ocurra si alguien envía un GET? – skaffman
Es solo una aplicación de captura de datos simple y si fuera GET no guardaríamos los datos en la base de datos. Solo quería comprobar si había xml forma "configurable" de hacer otra cosa que programáticamente. – Jonathan
Finalmente, ¿cómo implementaron esto? – xain