簡體   English   中英

spring 表格中的歡迎頁面

[英]Welcome page in spring form

為什么我們在使用 Spring 表單時在 Controller class 的 showForm() 方法中返回了 ModelAndView。

@Controller
public class EmployeeController {

    @RequestMapping(value = "/employee", method = RequestMethod.GET)
    public ModelAndView showForm() {
        return new ModelAndView("employeeHome", "employee", new Employee());
    }

    @RequestMapping(value = "/addEmployee", method = RequestMethod.POST)
    public String submit(@Valid @ModelAttribute("employee")Employee employee, 
      BindingResult result, ModelMap model) {
        if (result.hasErrors()) {
            return "error";
        }
        model.addAttribute("name", employee.getName());
        model.addAttribute("contactNumber", employee.getContactNumber());
        model.addAttribute("id", employee.getId());
        return "employeeView";
    }
}

如果您從 controller 方法返回一個字符串,則其值將被視為您要向用戶顯示的視圖的名稱。 在呈現視圖時,數據取自 Model 或 ModelMap 實例,您將其作為參數傳遞給方法並在方法主體中填充數據。

    model.addAttribute("name", employee.getName());
    model.addAttribute("contactNumber", employee.getContactNumber());
    model.addAttribute("id", employee.getId());
    return "employeeView";

但是,如果您返回 ModelAndView,則視圖的名稱以及呈現視圖所需的數據都取自單個返回的實例。

return new ModelAndView("employeeHome", "employee", new Employee());

在這里,您返回一個 ModelAndView 的實例,它帶有視圖的名稱 ('employeeHome') 和由名為 'employee' 的屬性中的 Employee object 表示的數據。

每個選項的使用差異不大,因此請使用您認為更方便的任何選項。

您也可能想查看這篇文章以獲得更清晰的理解: https://www.baeldung.com/spring-mvc-model-model-map-model-view

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM