Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring MVC 3.0.x文件上传-为什么是isn';原来的模型还没有回来吗?_Spring_Model View Controller - Fatal编程技术网

Spring MVC 3.0.x文件上传-为什么是isn';原来的模型还没有回来吗?

Spring MVC 3.0.x文件上传-为什么是isn';原来的模型还没有回来吗?,spring,model-view-controller,Spring,Model View Controller,我正在使用Springs MVC 3.0.x上传csv文件。读完后,我发现上传一个文件非常简单。在他的例子中,他调用他的模型UploadItem。我的模型叫做CsvFile,它只是一个POJO 我想增强模型以包含数据源。因此,我用xml定义了数据源bean,并在调用GET方法时实例化它。该对象的哈希代码为3fa980b。加载Springbean配置文件时,按照预期调用了获取数据源的构造函数。然后我将其添加到org.springframework.ui.Model中 @RequestMapping

我正在使用Springs MVC 3.0.x上传csv文件。读完后,我发现上传一个文件非常简单。在他的例子中,他调用他的模型
UploadItem
。我的模型叫做
CsvFile
,它只是一个POJO

我想增强模型以包含数据源。因此,我用xml定义了数据源bean,并在调用GET方法时实例化它。该对象的哈希代码为3fa980b。加载Springbean配置文件时,按照预期调用了获取数据源的构造函数。然后我将其添加到org.springframework.ui.Model中

@RequestMapping( method = RequestMethod.GET)
public String getUploadForm(Locale locale, Model model) {
    ApplicationContext context = new ClassPathXmlApplicationContext("observation-service.xml");
    CsvFile csvFile = (CsvFile)context.getBean("csvfile");
    logger.info("csvfile in get " + csvFile.toString() );
    model.addAttribute("csvFile",csvFile);
    return "npnSubmitData";
}
下一步让我大吃一惊。调用POST处理程序时,将调用CsvFile的默认构造函数。这提供了对CsvFile对象的访问,但与哈希代码53b5168d不同,数据源为空。我希望返回相同的对象

@RequestMapping(method = RequestMethod.POST)
public String create(CsvFile csvFile, BindingResult result) {
    logger.info("upload file. " + csvFile.toString());
    if (result.hasErrors()) {
        return "npnSubmitData";
    }
    return "populated";
}

为什么不返回原始对象

为什么是同一个物体?这是一个新的请求,可能与第一个请求没有任何关联。另外,如果可以注入它,为什么要使用
getBean
?为什么要自己创造一个新的环境?!