我是 Struts 框架的新手。如果 DynaActionForm 不支持验证为什么框架引入了这个表单 bean 类,我会感到有点困惑。因为我们有很多缺点,比如:
DynaActionForm 使用基于 xml 的定义来膨胀 Struts 配置文件。随着 Struts Config 文件变大,这会变得很烦人。
DynaActionForm 不是作为 ActionForm 的强类型。这意味着没有对表单字段进行编译时检查。在运行时检测它们是很痛苦的,并且会让你经历重新部署。
与 Struts Config 文件中的扁平组织不同,ActionForm 可以清晰地组织在包中。
ActionForm 被设计为充当HTTP 和Action 类之间的防火墙,即隔离和封装HTTP 请求参数,使其不直接在Action 中使用。使用 DynaActionForm,属性访问与使用 request.getParameter(一些参数) 没有什么不同。
在运行时构建 DynaActionForm 需要大量的 Java 反射机制,这些机制可能很昂贵。