execution参数获取是在CasDefaultFlowUrlHandler中完成的。

public final class CasDefaultFlowUrlHandler extends DefaultFlowUrlHandler {

/** Default flow execution key parameter name, {@value}. Same as that used by {@link DefaultFlowUrlHandler}. */

public static final String DEFAULT_FLOW_EXECUTION_KEY_PARAMETER = “execution”;

/** Flow execution parameter name. */

private String flowExecutionKeyParameter = DEFAULT_FLOW_EXECUTION_KEY_PARAMETER;

/**

  • Sets the parameter name used to carry flow execution key in request.

  • @param parameterName Request parameter name.

*/

public void setFlowExecutionKeyParameter(final String parameterName) {

this.flowExecutionKeyParameter = parameterName;

}

}

2、execution参数的作用

execution参数的使用是在loginHandlerAdapter适配器中完成的,我们看下源码:

public ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object handler)

throws Exception {

FlowHandler flowHandler = (FlowHandler) handler;

checkAndPrepare(request, response, false);

//获取execution参数

String flowExecutionKey = flowUrlHandler.getFlowExecutionKey(request);

//execution用来标记流程编号

if (flowExecutionKey != null) {

try {

ServletExternalContext context = createServletExternalContext(request, response);

// 根据流程编号执行流程接下来的步骤

FlowExecutionResult result = flowExecutor.resumeExecution(flowExecutionKey, context);

handleFlowExecutionResult(result, context, request, response, flowHandler);

} catch (FlowException e) {

handleFlowException(e, request, response, flowHandler);

}

} else {

try {

String flowId = getFlowId(flowHandler, request);

MutableAttributeMap input = getInputMap(flowHandler, request);

ServletExternalContext context = createServletExternalContext(request, response);

FlowExecutionResult result = flowExecutor.launchExecution(flowId, input, context);

handleFlowExecutionResult(result, context, request, response, flowHandler);

} catch (FlowException e) {

handleFlowException(e, request, response, flowHandler);

}

}

return null;

}

致此,我们可以确定execution是Spring-webflow中用来标识流程的这样一个参数。通过进一步查找文档:

webflow的核心参数:

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
img

最后

看完美团、字节、腾讯这三家的面试问题,是不是感觉问的特别多,可能咱们又得开启面试造火箭、工作拧螺丝的模式去准备下一次的面试了。

开篇有提及我可是足足背下了1000道题目,多少还是有点用的呢,我看了下,上面这些问题大部分都能从我背的题里找到的,所以今天给大家分享一下互联网工程师必备的面试1000题

注意不论是我说的互联网面试1000题,还是后面提及的算法与数据结构、设计模式以及更多的Java学习笔记等,皆可分享给各位朋友

最新“美团+字节+腾讯”一二三面问题,挑战一下你能走到哪一面?

互联网工程师必备的面试1000题

而且从上面三家来看,算法与数据结构是必备不可少的呀,因此我建议大家可以去刷刷这本左程云大佬著作的《程序员代码面试指南 IT名企算法与数据结构题目最优解》,里面近200道真实出现过的经典代码面试题

最新“美团+字节+腾讯”一二三面问题,挑战一下你能走到哪一面?

而且从上面三家来看,算法与数据结构是必备不可少的呀,因此我建议大家可以去刷刷这本左程云大佬著作的《程序员代码面试指南 IT名企算法与数据结构题目最优解》,里面近200道真实出现过的经典代码面试题

[外链图片转存中…(img-tWal8TC7-1711130593405)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐