当前位置: 首页>>代码示例>>Java>>正文


Java ActionContext.get方法代码示例

本文整理汇总了Java中com.opensymphony.xwork2.ActionContext.get方法的典型用法代码示例。如果您正苦于以下问题:Java ActionContext.get方法的具体用法?Java ActionContext.get怎么用?Java ActionContext.get使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.opensymphony.xwork2.ActionContext的用法示例。


在下文中一共展示了ActionContext.get方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: lookupExtension

import com.opensymphony.xwork2.ActionContext; //导入方法依赖的package包/类
protected String lookupExtension(String extension) {
    if (extension == null) {
        // Look for the current extension, if available
        ActionContext context = ActionContext.getContext();
        if (context != null) {
            ActionMapping orig = (ActionMapping) context.get(ServletActionContext.ACTION_MAPPING);
            if (orig != null) {
                extension = orig.getExtension();
            }
        }
        if (extension == null) {
            extension = getDefaultExtension();
        }
    }
    return extension;
}
 
开发者ID:txazo,项目名称:struts2,代码行数:17,代码来源:DefaultActionMapper.java

示例2: doExecute

import com.opensymphony.xwork2.ActionContext; //导入方法依赖的package包/类
@Override
protected void doExecute(String finalLocation, ActionInvocation invocation) throws Exception {
    ActionContext ctx = invocation.getInvocationContext();
    HttpServletRequest request = (HttpServletRequest) ctx.get(ServletActionContext.HTTP_REQUEST);
    HttpServletResponse response = (HttpServletResponse) ctx.get(ServletActionContext.HTTP_RESPONSE);

    // Cache?
    if (!cache) {
        response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1
        response.setHeader("Pragma", "no-cache"); // HTTP 1.0
        response.setDateHeader("Expires", 0); // Proxies
    }

    //set contenttype @see ww-4564
    response.setContentType("text/html");
    
    // Render
    PrintWriter pw = new PrintWriter(response.getOutputStream());
    pw.write("<!DOCTYPE html><html><body><form action=\"" + finalLocation + "\" method=\"POST\">");
    writeFormElements(request, pw);
    writePrologueScript(pw);
    pw.write("</html>");
    pw.flush();
}
 
开发者ID:txazo,项目名称:struts2,代码行数:25,代码来源:PostbackResult.java

示例3: createExtraContext

import com.opensymphony.xwork2.ActionContext; //导入方法依赖的package包/类
protected Map createExtraContext() {
    Map newParams = createParametersForContext();

    ActionContext ctx = new ActionContext(stack.getContext());
    PageContext pageContext = (PageContext) ctx.get(ServletActionContext.PAGE_CONTEXT);
    Map session = ctx.getSession();
    Map application = ctx.getApplication();

    Dispatcher du = Dispatcher.getInstance();
    Map<String, Object> extraContext = du.createContextMap(new RequestMap(req),
            newParams,
            session,
            application,
            req,
            res);

    ValueStack newStack = valueStackFactory.createValueStack(stack);
    extraContext.put(ActionContext.VALUE_STACK, newStack);

    // add page context, such that ServletDispatcherResult will do an include
    extraContext.put(ServletActionContext.PAGE_CONTEXT, pageContext);

    return extraContext;
}
 
开发者ID:txazo,项目名称:struts2,代码行数:25,代码来源:ActionComponent.java

示例4: intercept

import com.opensymphony.xwork2.ActionContext; //导入方法依赖的package包/类
/**
 * 鍩轰簬褰撳墠鐧诲綍鐢ㄦ埛缁熻pv uv鐨勬嫤鎴櫒锛岄渶瑕侀厤缃湪sso鐨勬嫤鎴櫒鍚庨潰,浠ヤ究褰撳墠context鏈夊綋鍓嶇櫥褰曠敤鎴蜂俊鎭�
 * @param invocation
 * @return
 * @throws Exception
 */
public String intercept(ActionInvocation invocation) throws Exception {
    try{
    	if(mstatsService==null){
			mstatsService=ResourceServlet.context.getBean(ActionMethodService.class);
		}
		if(pinService==null){
			pinService=ResourceServlet.context.getBean(IPinService.class);
		}
		
        ActionContext actionContext = invocation.getInvocationContext();
        HttpServletRequest request = (HttpServletRequest) actionContext.get(StrutsStatics.HTTP_REQUEST);
        String erpId=pinService.getPin(request);
        String currentPath=request.getServletPath();

        mstatsService.putVisitData(erpId,currentPath);

    }catch (Exception e)
    {
        log.error(e.getMessage(),e);
    }

    return invocation.invoke();  //To change body of implemented methods use File | Settings | File Templates.
}
 
开发者ID:koolfret,项目名称:methodstats,代码行数:30,代码来源:ActionMethodInterceptor.java

示例5: handleInvalidToken

import com.opensymphony.xwork2.ActionContext; //导入方法依赖的package包/类
@Override
 protected String handleInvalidToken(ActionInvocation invocation) throws Exception {
     ActionContext ac = invocation.getInvocationContext();

     HttpServletRequest request = (HttpServletRequest) ac.get(ServletActionContext.HTTP_REQUEST);
     HttpServletResponse response = (HttpServletResponse) ac.get(ServletActionContext.HTTP_RESPONSE);
     String tokenName = TokenHelper.getTokenName();
     String token = TokenHelper.getToken(tokenName);

     if ((tokenName != null) && (token != null)) {
         Map params = ac.getParameters();
         params.remove(tokenName);
         params.remove(TokenHelper.TOKEN_NAME_FIELD);

String sessionTokenName = TokenHelper.buildTokenSessionAttributeName(tokenName);
         ActionInvocation savedInvocation = InvocationSessionStore.loadInvocation(sessionTokenName, token);

         if (savedInvocation != null) {
             // set the valuestack to the request scope
             ValueStack stack = savedInvocation.getStack();
             request.setAttribute(ServletActionContext.STRUTS_VALUESTACK_KEY, stack);

             ActionContext savedContext = savedInvocation.getInvocationContext();
             savedContext.getContextMap().put(ServletActionContext.HTTP_REQUEST, request);
             savedContext.getContextMap().put(ServletActionContext.HTTP_RESPONSE, response);
             Result result = savedInvocation.getResult();

             if ((result != null) && (savedInvocation.getProxy().getExecuteResult())) {
                 result.execute(savedInvocation);
             }

             // turn off execution of this invocations result
             invocation.getProxy().setExecuteResult(false);

             return savedInvocation.getResultCode();
         }
     }

     return INVALID_TOKEN_CODE;
 }
 
开发者ID:txazo,项目名称:struts2,代码行数:41,代码来源:TokenSessionStoreInterceptor.java

示例6: storeLocale

import com.opensymphony.xwork2.ActionContext; //导入方法依赖的package包/类
@Override
protected Locale storeLocale(ActionInvocation invocation, Locale locale, String storage) {
    if (COOKIE_STORAGE.equals(storage)) {
        ActionContext ac = invocation.getInvocationContext();
        HttpServletResponse response = (HttpServletResponse) ac.get(StrutsStatics.HTTP_RESPONSE);

        Cookie cookie = new Cookie(DEFAULT_COOKIE_ATTRIBUTE, locale.toString());
        cookie.setMaxAge(1209600); // two weeks
        response.addCookie(cookie);

        storage = Storage.SESSION.toString();
    }

    return super.storeLocale(invocation, locale, storage);
}
 
开发者ID:txazo,项目名称:struts2,代码行数:16,代码来源:I18nInterceptor.java

示例7: beforeResult

import com.opensymphony.xwork2.ActionContext; //导入方法依赖的package包/类
public void beforeResult(ActionInvocation invocation, String resultCode) {
    try {
        LOG.trace("beforeResult start");
        ActionContext ac = invocation.getInvocationContext();
        if (invocation.getAction() instanceof CookieProvider) {
            HttpServletResponse response = (HttpServletResponse) ac.get(StrutsStatics.HTTP_RESPONSE);
            addCookiesToResponse((CookieProvider) invocation.getAction(), response);
        }
        LOG.trace("beforeResult end");
    } catch (Exception ex) {
        LOG.error("Unable to setup cookies", ex);
    }
}
 
开发者ID:txazo,项目名称:struts2,代码行数:14,代码来源:CookieProviderInterceptor.java

示例8: retrieveParameters

import com.opensymphony.xwork2.ActionContext; //导入方法依赖的package包/类
/**
 * @param ac The action context
 * @return the parameters from the action mapping in the context.  If none found, returns an empty map.
 */
@Override
protected Map<String, Object> retrieveParameters(ActionContext ac) {
    ActionMapping mapping = (ActionMapping) ac.get(ServletActionContext.ACTION_MAPPING);
    if (mapping != null) {
        return mapping.getParams();
    } else {
        return Collections.emptyMap();
    }
}
 
开发者ID:txazo,项目名称:struts2,代码行数:14,代码来源:ActionMappingParametersInteceptor.java

示例9: printContext

import com.opensymphony.xwork2.ActionContext; //导入方法依赖的package包/类
/**
 * Prints the current request to the existing writer.
 *
 * @param writer The XML writer
 */
protected void printContext(PrettyPrintWriter writer) {
    ActionContext ctx = ActionContext.getContext();
    writer.startNode(DEBUG_PARAM);
    serializeIt(ctx.getParameters(), "parameters", writer, new ArrayList<>());
    writer.startNode("context");
    String key;
    Map ctxMap = ctx.getContextMap();
    for (Object o : ctxMap.keySet()) {
        key = o.toString();
        boolean print = !ignoreKeys.contains(key);

        for (String ignorePrefixe : ignorePrefixes) {
            if (key.startsWith(ignorePrefixe)) {
                print = false;
                break;
            }
        }
        if (print) {
            serializeIt(ctxMap.get(key), key, writer, new ArrayList<>());
        }
    }
    writer.endNode();
    Map requestMap = (Map) ctx.get("request");
    serializeIt(requestMap, "request", writer, filterValueStack(requestMap));
    serializeIt(ctx.getSession(), "session", writer, new ArrayList<>());

    ValueStack stack = (ValueStack) ctx.get(ActionContext.VALUE_STACK);
    serializeIt(stack.getRoot(), "valueStack", writer, new ArrayList<>());
    writer.endNode();
}
 
开发者ID:txazo,项目名称:struts2,代码行数:36,代码来源:DebuggingInterceptor.java

示例10: needsReload

import com.opensymphony.xwork2.ActionContext; //导入方法依赖的package包/类
/**
 * Overrides needs reload to ensure it is only checked once per request
 */
@Override
public boolean needsReload() {
    ActionContext ctx = ActionContext.getContext();
    if (ctx != null) {
        return ctx.get(reloadKey) == null && super.needsReload();
    } else {
        return super.needsReload();
    }

}
 
开发者ID:txazo,项目名称:struts2,代码行数:14,代码来源:StrutsXmlConfigurationProvider.java

示例11: makePostbackUri

import com.opensymphony.xwork2.ActionContext; //导入方法依赖的package包/类
protected String makePostbackUri(ActionInvocation invocation) {
    ActionContext ctx = invocation.getInvocationContext();
    HttpServletRequest request = (HttpServletRequest) ctx.get(ServletActionContext.HTTP_REQUEST);
    String postbackUri;

    if (actionName != null) {
        actionName = conditionalParse(actionName, invocation);
        if (namespace == null) {
            namespace = invocation.getProxy().getNamespace();
        } else {
            namespace = conditionalParse(namespace, invocation);
        }
        if (method == null) {
            method = "";
        } else {
            method = conditionalParse(method, invocation);
        }
        postbackUri = request.getContextPath() + actionMapper.getUriFromActionMapping(new ActionMapping(actionName, namespace, method, null));
    } else {
        String location = getLocation();
        // Do not prepend if the URL is a FQN
        if (!location.matches("^([a-zA-z]+:)?//.*")) {
            // If the URL is relative to the servlet context, prepend the servlet context path
            if (prependServletContext && (request.getContextPath() != null) && (request.getContextPath().length() > 0)) {
                location = request.getContextPath() + location;
            }
        }
        postbackUri = location;
    }

    return postbackUri;
}
 
开发者ID:txazo,项目名称:struts2,代码行数:33,代码来源:PostbackResult.java

示例12: doIntercept

import com.opensymphony.xwork2.ActionContext; //导入方法依赖的package包/类
protected String doIntercept(ActionInvocation actionInvocation) throws Exception {
    ActionProxy proxy = actionInvocation.getProxy();
    String name = getBackgroundProcessName(proxy);
    ActionContext context = actionInvocation.getInvocationContext();
    Map session = context.getSession();
    HttpSession httpSession = ServletActionContext.getRequest().getSession(true);

    Boolean secondTime  = true;
    if (executeAfterValidationPass) {
        secondTime = (Boolean) context.get(KEY);
        if (secondTime == null) {
            context.put(KEY, true);
            secondTime = false;
        } else {
            secondTime = true;
            context.put(KEY, null);
        }
    }

    //sync on the real HttpSession as the session from the context is a wrap that is created
    //on every request
    synchronized (httpSession) {
        BackgroundProcess bp = (BackgroundProcess) session.get(KEY + name);

        if ((!executeAfterValidationPass || secondTime) && bp == null) {
            bp = getNewBackgroundProcess(name, actionInvocation, threadPriority);
            session.put(KEY + name, bp);
            performInitialDelay(bp); // first time let some time pass before showing wait page
            secondTime = false;
        }

        if ((!executeAfterValidationPass || !secondTime) && bp != null && !bp.isDone()) {
            actionInvocation.getStack().push(bp.getAction());

final String token = TokenHelper.getToken();
if (token != null) {
	TokenHelper.setSessionToken(TokenHelper.getTokenName(), token);
            }

            Map results = proxy.getConfig().getResults();
            if (!results.containsKey(WAIT)) {
            	LOG.warn("ExecuteAndWait interceptor has detected that no result named 'wait' is available. " +
                        "Defaulting to a plain built-in wait page. It is highly recommend you " +
                        "provide an action-specific or global result named '{}'.", WAIT);
                // no wait result? hmm -- let's try to do dynamically put it in for you!

                //we used to add a fake "wait" result here, since the configuration is unmodifiable, that is no longer
                //an option, see WW-3068
                FreemarkerResult waitResult = new FreemarkerResult();
                container.inject(waitResult);
                waitResult.setLocation("/org/apache/struts2/interceptor/wait.ftl");
                waitResult.execute(actionInvocation);

                return Action.NONE;
            }

            return WAIT;
        } else if ((!executeAfterValidationPass || !secondTime) && bp != null && bp.isDone()) {
            session.remove(KEY + name);
            actionInvocation.getStack().push(bp.getAction());

            // if an exception occured during action execution, throw it here
            if (bp.getException() != null) {
                throw bp.getException();
            }

            return bp.getResult();
        } else {
            // this is the first instance of the interceptor and there is no existing action
            // already run in the background, so let's just let this pass through. We assume
            // the action invocation will be run in the background on the subsequent pass through
            // this interceptor
            return actionInvocation.invoke();
        }
    }
}
 
开发者ID:txazo,项目名称:struts2,代码行数:77,代码来源:ExecuteAndWaitInterceptor.java

示例13: doExecute

import com.opensymphony.xwork2.ActionContext; //导入方法依赖的package包/类
/**
 * Redirects to the location specified by calling
 * {@link HttpServletResponse#sendRedirect(String)}.
 * 
 * @param finalLocation the location to redirect to.
 * @param invocation an encapsulation of the action execution state.
 * @throws Exception if an error occurs when redirecting.
 */
protected void doExecute(String finalLocation, ActionInvocation invocation) throws Exception {
    ActionContext ctx = invocation.getInvocationContext();
    HttpServletRequest request = (HttpServletRequest) ctx.get(ServletActionContext.HTTP_REQUEST);
    HttpServletResponse response = (HttpServletResponse) ctx.get(ServletActionContext.HTTP_RESPONSE);

    if (isPathUrl(finalLocation)) {
        if (!finalLocation.startsWith("/")) {
            ActionMapping mapping = actionMapper.getMapping(request, Dispatcher.getInstance().getConfigurationManager());
            String namespace = null;
            if (mapping != null) {
                namespace = mapping.getNamespace();
            }

            if ((namespace != null) && (namespace.length() > 0) && (!"/".equals(namespace))) {
                finalLocation = namespace + "/" + finalLocation;
            } else {
                finalLocation = "/" + finalLocation;
            }
        }

        // if the URL's are relative to the servlet context, append the servlet context path
        if (prependServletContext && (request.getContextPath() != null) && (request.getContextPath().length() > 0)) {
            finalLocation = request.getContextPath() + finalLocation;
        }
    }
    ResultConfig resultConfig = invocation.getProxy().getConfig().getResults().get(invocation.getResultCode());
    if (resultConfig != null) {
        Map<String, String> resultConfigParams = resultConfig.getParams();

        List<String> prohibitedResultParams = getProhibitedResultParams();
        for (Map.Entry<String, String> e : resultConfigParams.entrySet()) {
            if (!prohibitedResultParams.contains(e.getKey())) {
                Collection<String> values = conditionalParseCollection(e.getValue(), invocation, suppressEmptyParameters);
                if (!suppressEmptyParameters || !values.isEmpty()) {
                    requestParameters.put(e.getKey(), values);
                }
            }
        }
    }

    StringBuilder tmpLocation = new StringBuilder(finalLocation);
    urlHelper.buildParametersString(requestParameters, tmpLocation, "&");

    // add the anchor
    if (anchor != null) {
        tmpLocation.append('#').append(anchor);
    }

    finalLocation = response.encodeRedirectURL(tmpLocation.toString());

    LOG.debug("Redirecting to finalLocation: {}", finalLocation);

    sendRedirect(response, finalLocation);
}
 
开发者ID:txazo,项目名称:struts2,代码行数:63,代码来源:ServletRedirectResult.java


注:本文中的com.opensymphony.xwork2.ActionContext.get方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。