2017-08-05 70 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應該我添加它由我自己?(很抱歉我的問題,我是一個初學者) –

相關問題