2017-08-05 41 views
1

我是一名初学者,在春季启动时我开始创建一个将数据发送到数据库的联系表单。这是形式:使用弹簧引导将jsp表单插入数据库

<form:form method="POST" id="contactform" modelAttribute="message"> 
      <div class="form"> 
       <div class="six columns noleftmargin"> 
       <label name="name">Name</label> 
       <form:input path="name" type="text" class="smoothborder" placeholder="Your name *"/> 
       </div> 
       <div class="six columns"> 
       <label name="email">E-mail address</label> 
       <form:input path="email" type="text" class="smoothborder" placeholder="Your e-mail address *"/> 
       </div> 
       <label name="comment">Message</label> 
       <form:textarea path="comment" class="smoothborder ctextarea" rows="14" placeholder="Message, feedback, comments *"></form:textarea> 
       <input type="submit" id="submit" class="readmore" value="Submit"/> 
      </div> 
      </form:form> 

,这是我conact控制器:

@Autowired 
    private MessageRepository messageRepository ; 

    @RequestMapping(value= "/newmessage", method = RequestMethod.GET) 
    public String newMessage(ModelMap model) { 
    Message message = new Message(); 
    model.addAttribute("message", message); 
     return ("/contact"); 
    } 

    @RequestMapping(value="/newmessage",method=RequestMethod.POST) 
    public String saveMessage(Message message, BindingResult result, ModelMap model) 
    { 

     if (result.hasErrors()) { 
      return "/contact"; 
     } 

     messageRepository.save(message); 
     model.addAttribute("success", "Message " + message.getName() + " "+ message.getEmail() + " "+ message.getComment()+ " registered successfully"); 
     //return "success"; 
     return "/homepage"; 

文件夹结构

Folder Structure

回答

0

您需要设置形式的行动。如果你想打/newmessage在提交表格,那么您需要更改如下:

<form:form method="POST" id="contactform" action="/newmessage" modelAttribute="message"> 
    <!-- The elements of the form --> 
</form:form> 

此外,您还需要将modelAttribute添加到您的控制器的方法。并且您应该只返回jsp页面的名称。如果你的页面名称是homepage.jsp,那么你应该只从你的控制器方法返回homepage。当然,homepage.jsp文件需要在WEB-INF文件夹中。

@RequestMapping(value="/newmessage",method=RequestMethod.POST) 
public String saveMessage(@ModelAttribute("message") Message message, BindingResult result, ModelMap model) { 
    // Rest of the code 

    return "homepage"; 
} 
+0

对不起,但同样的错误仍然存​​在,我的意见被放置在src/main/web应用程序,因为它搜索那里的意见,而不是资源/模板。我添加了所有的jsp依赖 –

+0

您的意见应该放在'src/main/webapp/WEB-INF'文件夹中 – sunkuet02

+0

我使用sts工具,我创建了新的spring starter项目,默认情况下webapp下没有WEB-INF应该我添加它由我自己?(很抱歉我的问题,我是一个初学者) –

相关问题