当前位置: 首页 > 知识库问答 >
问题:

当使用spring自动连接时,struts标记不会与action类映射

慕烨烁
2023-03-14

当我将自动拦截器(interceptor-ref name=“autowiring”)放入spring.xml中的action标记时,index.jsp中的struts标记无法与该action类的setter映射。当我从action标记中删除自动标记时,在这种情况下,jsp的struts标记能够与action类的setter映射。

任何来自你方面的帮助都是非常受欢迎的。如果你需要任何类型的例子,然后让我知道。

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

那么这个名为'name'和'salary'的struts标记就不会设置action类中的值,该值用setter/getter的相同名称表示。

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

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

共有1个答案

景令秋
2023-03-14

如果在操作上定义拦截器,则必须在操作上定义所有拦截器。如果没有设置参数,那么无论“自动”拦截器引用是什么,都不包括“参数”堆栈,即负责将表单属性传输到操作的拦截器。

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

话虽如此--在操作内部手动使用会话工厂将不被认为是最佳实践。任何会话工厂逻辑都应该包含在您的DAOS/Services/等中。操作应该很少(读作:从不)知道持久性层。

 类似资料:
  • 我正在学习Struts2,但我并不完全清楚如何以及何时使用标签

  • 我正在测试ControllerAdvice类,其中EncodeUtil是自动连接的,当我使用JUnit测试运行时,它总是被解析为Null,当通过Spring Boot应用程序运行时,没有问题,我缺少什么? 这是我的Junit课程,我有 测试失败与空指针异常

  • 我在Java应用程序中使用Spring,所有@Autowired注释到目前为止都在工作。 一旦我尝试启动应用程序,我得到: 该接口仅包含两个公共简单方法,该类实现了它们 这两个类都是公共的,并且都有公共的默认构造函数。(我甚至尝试在测试中实例化它们。 删除部分后,一切正常 接口的实现会有什么问题?什么是< code>$ProxyXX?

  • 我有一个连接到MariaDB数据库的Spring Boot应用程序,在我意识到存在到数据库的非托管连接之前,它一直运行良好。依赖关系是使用Maven管理的。我试图使用$mysql-u root-p登录数据库,但被告知连接太多。我的印象是Spring框架自动关闭了与数据库的连接。Spring/Hibernate如何管理到MariaDB的连接? 来自应用程序.属性: 当尝试登录到mysql服务器时,我

  • 和我的配置类: 1)AppConfig。 2)AppInitializer: 不幸的是同样的结果: 找不到依赖项得[Kamienica.Service.CustomUserDetailsService]类型得合格bean:需要至少1个具有此依赖项自动候选资格得bean.依赖项注释:{@org.SpringFramework.Beans.Factory.Annotation.AutoWired(re

  • redirect结果类型调用标准的response.sendRedirect()方法,使浏览器创建对给定位置的新请求。 我们可以在元素的主体中提供位置,也可以在元素中提供位置。 重定向还支持parse参数。 这是使用XML配置的示例 - <action name = "hello" class = "com.wenjiangs.struts2.HelloWorldAction" me