2017-08-05 10 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 appに配置されています。ビューはリソース/テンプレートでは検索されないためです。私はすべてのjsp依存関係を追加しました –

+0

あなたのビューは 'src/main/webapp/WEB-INF'フォルダに置かなければなりません – sunkuet02

+0

私はstsツールを使用しています。私は新しいspring starterプロジェクトを作成します。私の自己でそれを追加しますか?(私の質問のために申し訳ありません私は初心者です) –

関連する問題