我们正在使用 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 Spring和 Alternative - Have Spring Manage Creation Of ActionSupport
Class相关文档。
关于java - 使用 spring 管理 struts 操作(由约定插件配置),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22662077/