将值从一个控制器方法传递到另一个控制器方法

时间:2015-03-30 13:11:11

标签: java jsp spring-mvc

好的,所以我在Spring MVC上还是很新的。我要做的是创建一个接受附件的页面。该功能有效,我需要它做的是将它附加到现有"员工"的配置文件中。为此,我创建了两个方法来设置页面,以及页面需要启动的值。然后我有第二种方法来上传文件。

第一个方法携带Employee ID的值直到最后,并且永远不会丢失它,但它永远不会被第二个相关方法拾取。我有另一对页面,允许编辑以相同方式运行的员工简介,并使用我在此处使用的相同方法继承ID。

如果有人可以指出我可以做什么来将ID转移到第二个控制器方法。我将不胜感激。

以下是我在控制器中所拥有的内容,此时它已经接受了员工ID。

   @RequestMapping(value = "/EmpFile")
public ModelAndView loadEmpFilePage(
@RequestParam(value = "EmployeeID", required = false) Integer EmployeeID,
@ModelAttribute("employee")Employee employee, BindingResult result){
    ModelAndView mav = new ModelAndView();

    if(EmployeeID< 1)
        EmployeeID= null;

    if(EmployeeID== null){
        if(employee!= null && employee.getEmployeeID() > 0){
            mav.addObject("employee", employee);
            mav.setViewName("employeeList");
        }
        else
            mav.setViewName("redirect:login.html");
        return mav;
    }   

    Employee employeeObject = employeeService.getEmployeeID(EmployeeID);
    employee.copyEmployee(employeeObject);
    mav.addObject("employee", employee);
    mav.setViewName("EmpFile");
    return mav;

现在这里是第二种方法的开始(要复制很多不相关的东西),在我必须编辑员工的方法中,ID已经从一开始就可以访问。因此,我想知道我是否需要做一些额外的事情,无论是在一种方法的结尾还是在下一种方法的开始。

   @RequestMapping(value = "uploadFile")
public ModelAndView uploadFile(
        @RequestParam(value = "prefix", required = false) String prefix,
        @RequestParam(value = "first", required = false) String first,
        @RequestParam(value = "last", required = false) String last,
        @RequestParam(value = "FileAttach", required = false) MultipartFile FileAttach,
        @ModelAttribute("employee")Employee employee, BindingResult result) {

    if(result.hasErrors())
        return loadFilePage(employee.getEmployeeID(), employee, result);

1 个答案:

答案 0 :(得分:0)

我将jsp配置为直接链接到第二种方法。这似乎已经解决了。