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
Spring MVC 3.2.8中的重定向属性_Spring_Jsp_Spring Mvc - Fatal编程技术网

Spring MVC 3.2.8中的重定向属性

Spring MVC 3.2.8中的重定向属性,spring,jsp,spring-mvc,Spring,Jsp,Spring Mvc,我有一个基于SpringWebModelViewController(MVC)框架的项目。SpringWeb模型视图控制器(MVC)框架的版本是3.2.8 我有这个方法 @RequestMapping(value = { "/newdesign/manage/device/award", "/newdesign/manage/device/award/"}, method = {RequestMethod.POS

我有一个基于SpringWebModelViewController(MVC)框架的项目。SpringWeb模型视图控制器(MVC)框架的版本是3.2.8

我有这个方法

@RequestMapping(value = {       "/newdesign/manage/device/award",
                                    "/newdesign/manage/device/award/"}, method = {RequestMethod.POST})
    public String awardDeviceProduct(                               
                                     @ModelAttribute("deviceForm") DeviceForm deviceForm,                                                               
                                     HttpServletRequest request,
                                     Model model,
                                     final RedirectAttributes redirectAttributes) throws Exception {

        checkUser (request, UserRole.MARKETING);

        Device device =   manageLicenseService.getDeviceById(deviceForm.getDevice().getId());


        if (deviceForm.getDevice().getIos()==null) {

            model.addAttribute ("errorMessage", "Licence Number cannot be null !");

            redirectAttributes.addFlashAttribute("errorMessage", "Licence Number cannot be null !");

        } else if (deviceForm.getSelectedItems()!=null &&
                !deviceForm.getSelectedItems().isEmpty()) {     

            // check LICENCE DUPLICATED

            manageLicenseService.applyStatusChange (device, deviceForm.getSelectedItems(), Status.AWARDED );


        } else {

            model.addAttribute ("errorMessage", "no Items selected !");
            model.addAttribute ("productGroup",     getNotExpiredProductGroups (request));

        }


        return "redirect:/newdesign/manage/device/" + deviceForm.getDevice().getId();


    }

但是在JSP中我找不到属性“errorMessage”!!!!当(deviceForm.getDevice().getIos()==null)

代码的问题在于“重定向”和“转发”之间的差异

如果返回重定向语句,响应将首先返回到浏览器,然后请求新的url。这种方法的问题是,重定向的新请求将具有一个全新的上下文,并且将无法访问在您以前的响应中设置的模型

然而,转发响应由服务器端自己处理,将请求传输到新的URL。它更快,并且可以维护上下文

你可以找到更多的细节