java - 使用 spring 管理 struts 操作(由约定插件配置)

标签 java spring struts2 spring-annotations struts2-convention-plugin

我们正在使用 Struts 2 + Spring 4,我们希望设置 spring 来管理我们的 struts 2 操作。

Spring bean是通过注解定义的。

struts 操作位于约定插件中,因此我们在 struts.xml 文件中没有任何操作。

具体操作如下:

//It is located in action folder so it will be located by convention plugin
package foo.bar.actions.usermanager

@Named //This will be used by Spring to located and manage this Bean
public class EditUser(){

    @Action(className="editUser") // Should I defined class name here ?!
    public String execute() {

    }
}

上面的代码有效。但我想找到是否有更好的方法,所以我们可以省略 className (这正是 Action 名称的驼峰转换)

这可能吗?!

最佳答案

默认情况下,className 属性包含从注释创建操作配置时约定插件在其中找到操作的类的名称。如果您构建普通的 Struts 操作配置,则不需要它。但与 spring 插件结合使用时,如果您想将构建和管理操作委托(delegate)给 Spring,则必须提供此类属性。它与基于 xml 的操作配置中的 class 相同,并且按照 Spring 插件的惯例使用此类名称。请参阅Initializing Action from SpringAlternative - Have Spring Manage Creation Of ActionSupport Class相关文档。

关于java - 使用 spring 管理 struts 操作(由约定插件配置),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22662077/

相关文章:

java - 如何在spring boot中使用应用程序上下文获取bean

java - Skinny WAR,EAR : "struts-tags not found" error 中的库

java - 为什么 jshell 使用 StackWalker 返回空字符串

java - 通过 wget 在 Linux 上下载 Java JDK 会显示许可证页面

java - 将 org.threeten.bp.* 和 org.joda.time* 转换为相应的 java.time.* 类的最佳方法

java - Log4J - J2EE - 动态变量

java - 删除集成测试时创建 bean 的异常,该异常不会出现在标准应用程序启动中

Spring - 使用Builder模式注入(inject)bean

jquery - 刷新 DIV 中包含 dojo 选项卡式面板的 JSP 部分

java - 使用 Struts2 从服务器接收到重复的 header