gpt4 book ai didi

java - 将 Struts 1 中的 Action 转换为 Struts 2 等效项

转载 作者:行者123 更新时间:2023-12-02 13:40:27 25 4
gpt4 key购买 nike

我正在尝试将应用程序从 Struts 1 迁移到 Struts 2。在迁移过程中,我面临以下问题:

  1. 有一个Servlet,它扩展了Struts1的ActionServlet。有许多重写方法,其中 super 被调用,例如 process(),我想知道它与转换为 Struts2 的等效方法。因为我在 StrutsPrepareAndExecuteFilter 中没有得到它的等价物。

  2. 我已将所有表单 bean 转换为 ModelDriven bean,并将所有 Action 转换为扩展 ActionSupport 的类。还在 struts.xml 中为其添加了条目。

请提供您对上述两个问题的解决方案。

最佳答案

进程在操作执行之前运行。重写框架类的目的是更改/扩展功能。大多数修改与旧框架相关,可以删除。如果您需要使用一些在 Struts2 中无法替换的代码,那么您应该编写一个自定义拦截器。这是更改/扩展 Struts2 中功能而不是类覆盖的正常方法。

您可以阅读有关 interceptors 的更多信息在 Struts 文档网站上。

您的架构应该没问题,但是可以用将 bean 注入(inject) Controller 来替换 ModelDriven。请参阅Nullpointerexception while setting a bean .

有时 bean 的作用域很重要,例如 Struts1 默认使用 session 作用域。如果您需要的话,您可以使用拦截器 ant 注入(inject)一个 sessionMap 将您的对象保留在 session 中,或者尝试实现一个 session 范围的 bean,就像我在 this 中所做的那样。问题。

关于java - 将 Struts 1 中的 Action 转换为 Struts 2 等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42759591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com