/** * Execute the request, if it's coming from our action, then invoke the * ajax handler and put the key <code>AJAX_REQUEST_KEY</code> in the * request userInfo dictionary (<code>request.userInfo()</code>). * * @param request the request * @param context context of the transaction * @return a WOActionResults containing the result of the request */ @Override public WOActionResults invokeAction(WORequest request, WOContext context) { Object result; if (shouldHandleRequest(request, context)) { result = handleRequest(request, context); ERXAjaxApplication.enableShouldNotStorePage(); if (result == null && !ERXAjaxApplication.isAjaxReplacement(request)) { result = AjaxUtils.createResponse(request, context); } } else { result = super.invokeAction(request, context); } return (WOActionResults) result; }
/** * Execute the request, if it's coming from our action, then invoke the ajax handler and put the key * <code>AJAX_REQUEST_KEY</code> in the request userInfo dictionary (<code>request.userInfo()</code>). * * @param request the current request * @param context context of the transaction * @return the action results */ @Override public WOActionResults invokeAction(WORequest request, WOContext context) { WOActionResults result = null; if (shouldHandleRequest(request, context)) { result = handleRequest(request, context); ERXAjaxApplication.enableShouldNotStorePage(); if (ERXAjaxApplication.shouldIgnoreResults(request, context, result)) { log.warn("An Ajax request attempted to return the page, which is almost certainly an error."); result = null; } if (result == null && !ERXAjaxApplication.isAjaxReplacement(request)) { result = AjaxUtils.createResponse(request, context); } } else if (hasChildrenElements()) { result = super.invokeAction(request, context); } return result; }
@Override public WOActionResults handleRequest(WORequest request, WOContext context) { WOComponent component = context.component(); WOActionResults result = (WOActionResults) valueForBinding("action", component); if (ERXAjaxApplication.isAjaxReplacement(request)) { AjaxUtils.setPageReplacementCacheKey(context, (String)valueForBinding("replaceID", component)); } else if (result == null || booleanValueForBinding("ignoreActionResponse", false, component)) { WOResponse response = AjaxUtils.createResponse(request, context); String onClickServer = (String) valueForBinding("onClickServer", component); if (onClickServer != null) { AjaxUtils.appendScriptHeaderIfNecessary(request, response); response.appendContentString(onClickServer); AjaxUtils.appendScriptFooterIfNecessary(request, response); } result = response; } else { String updateContainerID = AjaxUpdateContainer.updateContainerID(this, component); if (updateContainerID != null) { AjaxUtils.setPageReplacementCacheKey(context, updateContainerID); } } return result; }
if (ERXAjaxApplication.isAjaxReplacement(request)) { AjaxUtils.setPageReplacementCacheKey(context, (String)valueForBinding("replaceID", component));