首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

struts源码之9

2013-01-01 
struts源码之九strtsu2完成request的封装后,就创建ActionMappingActionMapping的创建过程也很明了。??然后

struts源码之九

strtsu2完成request的封装后,就创建ActionMapping

ActionMapping的创建过程也很明了。

?

?然后从uri中分析action请求中的name和namespace

?然后在handleSpecialParameters才有了处理

?

?

?

这样就给mapping设置了。

?

就拿这个例子来说把,创建了ServletRedirectResult

然后放入mapping中,在后续的执行中会使用,我们可以进入ServletRedirectResult 看看这个类,

有一个核心方法doExecute。

在我们调用action返回的时候会调用到这里doExecute。

这里暂时不做详细介绍,

代码如下:

?

回到我们的 DefaultActionMapper中,完成了上面的处理,进入parseActionName

分析action的名称。

?parseActionName(mapping);

具体的代码如下:

?

?

如果为空则之间返回,否则处理类似name!method这样的请求 action

处理完成返回.ActionMapping

actionMapping处理完成后放入request中。

if (mapping != null) {                    request.setAttribute(STRUTS_ACTION_MAPPING_KEY, mapping);                }

?

至此,ActionMapping创建完成。

?

?

?

?

?

?

?

?

热点排行