首页 > 解决方案 > 基本的 struts1 问题:Struts 1 中的 ActionForm 数据来自哪里?

问题描述

我正在维护一个 struts 1 应用程序,需要找到(或找出如何)将 ActionForm 对象传递给 Action 类的代码点,这是我所知道的代码的第一个入口点,但是有显然,另一个将数据组装到 ActionForm 对象的入口点,因为 Action 类入口点方法签名是这样的:

public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, 

想法有人吗?

标签: strutsstruts-1

解决方案


请求处理器,org.apache.struts.action.RequestProcessor.

具体方法取决于确切的Struts 版本,例如,在Struts 1.2 中是process方法,在Struts 1.3 中是processActionCreate方法。

自定义请求处理器是 Struts 1 中众所周知的扩展点;可能值得您花时间进行一些网络搜索,因为这已经很好地涵盖了,但同样,它是特定于版本的。

此外,请求处理器经常被不同的扩展点(例如,Tiles 和 Workflow)以不同的方式使用,这推动了 Struts 1.3 ( ComposableRequestProcessor) 中的一些变化。


推荐阅读