(Spring Boot,Maven)提交表单时为什么会出现404错误?

时间:2019-08-18 09:34:16

标签: html forms maven spring-boot freemarker

使用Spring Boot,当我提交表单时,它返回404错误。它并没有给我任何提示,缺少什么。你能告诉我怎么了吗?

这是HTML代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <#include "fragment/head.ftl">
</head>
<body class="body-home mdl-layout mdl-js-layout">
    <header class="form">
        <h1>${viewmsg}</h1>
    </header>
    <main class="mdl-layout__content">

        <div class="mdl-grid">
            <form class="mdl-card mdl-shadow-2dp mdl-cell--12-col" method="POST"
                  action="${action}" role="form">
                <#include "content/form/${view}.ftl">
                <div class="mdl-cell--12-col mdl-grid btn-wrapper">
                    <button class="mdl-button mdl-js-button mdl-button--raised mdl-button--colored mdl-cell--12-col" type="submit">
                        Submit
                    </button>
                </div>
            </form>

        </div>

    </main>

</body>
</html>

这是控制器代码的一部分:

@RequestMapping(value = "/join", method = RequestMethod.GET)
public ModelAndView join() {
        ModelAndView mv = new ModelAndView("form");
        mv.addObject("layout", "form");
        mv.addObject("view", "createMember");
        mv.addObject("viewmsg", "Sign In");
        mv.addObject("action", "/member/join");
        mv.addObject("modelName", "member");
        Member member = new Member();
        mv.addObject("member", member);
        return mv;
}

@RequestMapping(value = "/join", method = RequestMethod.POST)
public ModelAndView create(@RequestParam("name") String name, @RequestParam("id") String id, @RequestParam("password") String password) {
        logger.debug("aaaa");
        Member member = new Member();
        member.setId(id);
        member.setName(name);
        member.setPassword(password);
        ModelAndView mv = new ModelAndView();

        try {
            memberService.create(member);
        }
        catch (Exception e) {
            mv.addObject("layout", "form");
            mv.addObject("view", "createMember");
            mv.addObject("viewmsg", "Sign In");
            mv.addObject("action", "/member/join");
            mv.addObject("member", member);
            mv.addObject("modelName", "member");
            mv.addObject("error", e.getMessage());

            return mv;
        }

        mv.setViewName("redirect:/");
        mv.addObject("view", "home");
        mv.addObject("member", member);
        return mv;
}

在函数 create 的开头,我让它打印“ aaaa”,但没有。所以我认为该错误是在 create 之前引起的。

0 个答案:

没有答案