spring - 当使用 spring Autowiring 时,struts 标签不会与操作类映射

标签 spring struts2

当我将 Autowiring 拦截器(interceptor-ref name="autowiring") 放在 spring.xml 中的操作标记中时,index.jsp 中的 struts 标记无法与该操作类的 setter 进行映射。当我从操作标签中删除 Autowiring 标签时,在这种情况下,jsp 的 struts 标签确实能够与操作类的 setter 进行映射。

我们非常欢迎您提供任何帮助。如果您需要任何类型的示例,请告诉我。

<s:textfield name="name" label="Name" />
<s:textfield name="salary" label="Salary" />
<s:submit value="Add Record" />

那么这个名为“name”和“salary”的struts标签不会设置用相同名称的setter/getter表示的action类中的值。

public void setName(String name) {
    this.name = name;
}

public void setSalary(String salary) {
    this.salary = salary;
}

最佳答案

如果您在操作上定义拦截器,则必须在操作上定义所有拦截器。如果未设置参数,则“ Autowiring ”拦截器引用不包含“参数”堆栈,该拦截器负责将表单属性传输到操作。

Umesh 是正确的,如果您使用 Spring,该插件会为您处理注入(inject),并且您不需要在操作上手动定义“ Autowiring ”插件。如果您只是删除该拦截器定义,您的参数应该正常设置,并且操作仍然应该连接。

也就是说,在操作中手动使用 session 工厂不会被视为最佳实践。任何 session 工厂逻辑都应该包含在您的 DAO/服务/等中。操作应该很少(阅读:从不)意识到持久层。

关于spring - 当使用 spring Autowiring 时,struts 标签不会与操作类映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11538128/

相关文章:

java - 使用 Hibernate 和 Struts2 进行分页实现

java - 支柱 2-JSP : Render String as JSP

java - 流行的 Struts 2 IDE

java - 如何在struts.xml中重新映射Action实现类?

java - 没有为 Cucumber runner 注入(inject) Spring 依赖项

java - 即使我在 Spring 类中声明该字段,为什么 @Autowired 为 null?

java - Spring JPA REST 按嵌套属性排序

java - 在多个服务器上分发 J2EE 应用程序时我有哪些选择?

java - 添加 RedirectAttributes 参数导致 Spring MVC Controller 方法中出现 "Model has no value for key"异常

java - 如何为 Spring 的 SimpleMappingExceptionResolver 记录异常堆栈跟踪