質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

解決済

2回答

507閲覧

springboot 404エラー

Yoshi--

総合スコア62

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

0クリップ

投稿2017/07/04 04:21

編集2017/07/04 04:38

コントローラ

java

1package com.example.konkatsu.web; 2 3import java.util.List; 4 5import org.springframework.beans.BeanUtils; 6import org.springframework.beans.factory.annotation.Autowired; 7import org.springframework.stereotype.Controller; 8import org.springframework.ui.Model; 9import org.springframework.validation.BindingResult; 10import org.springframework.validation.annotation.Validated; 11import org.springframework.web.bind.annotation.GetMapping; 12import org.springframework.web.bind.annotation.ModelAttribute; 13import org.springframework.web.bind.annotation.PostMapping; 14import org.springframework.web.bind.annotation.RequestMapping; 15 16import com.example.konkatsu.domain.Profile; 17import com.example.konkatsu.service.ProfileService; 18 19 20@Controller 21@RequestMapping("konkatsu") //「URL」の接頭辞をkonkatsuに設定 22 23public class KonkatsuController { 24 @Autowired 25 ProfileService profileService; 26 27 @ModelAttribute //@ModelAttributeがついたメソッドは、リクエストのたびに、RequestMappingメソッドの前に呼ばれる 28 ProfileForm setUpForm() { 29 return new ProfileForm(); 30 } 31 @GetMapping 32 String list(Model model){ //SpringMVCでは画面に値を渡す為にModelオブジェクトを使用 33 List<Profile> profile = profileService.findAll(); 34 model.addAttribute("profile", profile); //第一引数はThymeleafで取り出す時に使う名前、第二引数はThymeleafに渡したいオブジェクトを指定 35 return "profileForm"; //@Controllerをつけたコントローラのリクエスト処理メソッドの返り値は、遷移する画面の名前になる 36 } 37 38 @PostMapping(path = "create") 39 String create 40 // 送信されたフォームの入力チェックを行う為に@Validatedアノテーションを付ける。 41 // これによりProfileFormに設定したBean Validationアノテーションが評価され、結果が隣の引数のBindingResultに格納される 42 (@Validated ProfileForm form, BindingResult result, Model model){ 43 if (result.hasErrors()){ //入力チェックの結果を確認し、エラーがある場合は一覧画面表示に戻る 44 return list(model); 45 } 46 Profile profile = new Profile(); 47 BeanUtils.copyProperties(form, profile);//ProfileFormをProfileにコピーする 48 profileService.create(profile); //LoginUserDetailsオブジェクトに格納されているUser情報を取り出してProfileServiceに渡す 49 return "redirect:/konkatsu"; //作成処理が正常に終了した場合は一覧画面表示にリダイレクト 50 } 51}

html

1<!DOCTYPE html> 2<html xmlns:th="http://www.thymeleaf.org"> 3<head> 4 <meta charset="utf-8"/> 5 <title>婚活サイト</title> 6 <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" 7 th:href="@{/webjars/bootstrap/3.3.7/css/bootstrap.min.css}"/> 8 <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" 9 th:href="@{/webjars/bootstrap/3.3.7/css/bootstrap-theme.min.css}"/> 10</head> 11 12<body> 13 14<div class="container"> 15 <h1>婚活サイト</h1> 16 <form th:action="@{/konkatsu/craete}" th:object="${profileForm}" class="form-signin" enctype="multipart/form-data" method="post" ><!-- th:actionでformタグのaction属性の内容を置換できる --> 17 <!-- action:フォームの送信ボタンを押して送信されるデータの送信先を指定する --> 18 19 <!-- 部品がテキストフィールドなら初期値として入力欄に表示されます。テキストが書き換えられればそれが value値になり、name属性とセットで送信されます。 20 また、ラジオボタンやチェックボックスでは、選択された値の名称となり、name属性とセットで送信されます。 21 送信やリセットボタンなどの場合はボタン上に表示されます--> 22 23 <h2 class="form-signin-heading">Myプロフィールフォーム</h2> 24 25 <div th:if="${param.error}" class="alert alert-danger"> 26 正しく入力してください。 27 </div> 28 29 <div class="form-group" > 30 <label>氏名</label> 31 <!-- プログラムに送信するデータに名前を付けるのがname属性 --> 32 <input type="text" class="form-control" name="name" placeholder="(例) 山田太郎" required="required" 33 autofocus="autofocus"/> 34 </div> 35 36 <div class="form-group"> 37 <label>生年月日</label> 38 <input type="text" class="form-control" name="birthday" placeholder="(例) 2017/01/01" required="required"/> 39 </div> 40 41 <div class="form-group"> 42 <label>身長</label> 43 <input type="text" class="form-control" name="height" placeholder="(例)180cm" required="required"/> 44 </div> 45 46 <div class="form-group"> 47 <label>職業</label> 48 <select class="form-control" name="occupationId" > 49 <!-- <option value='' disabled selected style='display:none;'>職業</option> --> 50 <option value="1">公務員系</option> 51 <option value="2">医療・介護・福祉系</option> 52 <option value="3">教育系</option> 53 <option value="4">金融系</option> 54 <option value="5">IT・電気・電子系</option> 55 <option value="6">製造・建築・土木系</option> 56 <option value="7">アート・デザイン系</option> 57 <option value="8">音楽・イベント系</option> 58 <option value="9">芸能・マスコミ系</option> 59 <option value="10">サービス系</option> 60 <option value="11">飲食系</option> 61 <option value="12">ファッション・美容系</option> 62 <option value="13">スポーツ・インストラクター系</option> 63 <option value="14">自営業</option> 64 <option value="15">その他</option> 65 </select> 66 </div> 67 68 <div class="form-group"> 69 <label>年収</label> 70 <input type="number" class="form-control" name="income" placeholder="(例)600万円" required="required"/> 71 </div> 72 73 <div class="form-group"> 74 <label for="InputTextarea">自己紹介文</label> 75 <textarea class="form-control" name="text" rows="6" placeholder="自己PRをしてください"></textarea> 76 </div> 77 78 <div class="form-group"> 79 <label>プロフィール画像</label> 80 <input type="file" class="form-control" name="image" placeholder="写真" required="required"/> 81 </div> 82 83 <button class="btn btn-lg btn-primary btn-block" type="submit">登録する</button> 84 85 </form> 86 87</div> 88 <table class="table table-striped table-bordered table-condensed"> 89 <tr> 90 <th>ID</th> 91 <th></th> 92 <th></th> 93 <th colspan="2">編集</th> 94 </tr> 95 <tr th:each="profile : ${profile}"> 96 <td th:text="${profile.name}">山田</td> 97 98 </tr> 99 </table> 100</body> 101</html> 102

イメージ説明

でデータを入力して登録するを押すと

イメージ説明

エラーになってしまいます
なぜでしょうか??

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mattn

2017/07/04 04:31

何を、どうしたら、エラーになるのか書かないと分かりません。
Yoshi--

2017/07/04 04:39

すいません、追加いたしました
guest

回答2

0

ベストアンサー

テンプレートの @{/konkatsu/craete}@{/konkatsu/create} の間違いではないでしょうか。

投稿2017/07/04 05:03

mattn

総合スコア5030

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

koizumi

2017/07/04 05:05

あっ!それだ!
Yoshi--

2017/07/04 05:16

ありがとうございます!!!! エラーは出なくなりました! しかし 登録はされていないので違う箇所でまた間違いがあるのだと思います ありがとうございました
guest

0

postMappingのパスがあっていないとか?

投稿2017/07/04 04:59

koizumi

総合スコア230

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問