Spring MVC无法实例化表单内的接口字段

时间:2017-12-14 11:27:28

标签: java spring spring-mvc

我正在使用Spring MVC应用程序并且具有内部具有接口字段的表单。

public class MyForm {
   private MyFieldInterface myField;
}

在控制器中,在请求映射方法中,我们将表单作为模型属性

@Controller
public class MyController
    @RequestMapping(value="/myAction")
    public String process(@ModelAttribute("myForm") MyForm form....

当它将请求绑定到表单时,它无法创建myField。 错误是 org.springframework.beans.BeanInstantiationException:无法实例化[... MyFieldInterface]:指定的类是一个接口

数据来自JSP,但myField为null。 它尝试在从请求中提取数据之前创建字段, 但它无法从Interface实例化。

我的问题是 - 如何强制Spring从实现此接口的类中实例化它?这有可能吗

public MyClass implements MyFieldInterface

1 个答案:

答案 0 :(得分:0)

  1. 抛出BeanInstantiationException,因为您无法在Spring表单支持bean中使用接口。
  2. 不要在支持bean的形式中使用自己的java类。
  3. 使用包含对象中基本类型值的java类。示例:字符串,长整数等。