Skip to content

Commit

Permalink
フォームの廃止&Separetedのコメントがうまく投稿されなかった現象の解消
Browse files Browse the repository at this point in the history
  • Loading branch information
igamasayuki committed Jun 16, 2022
1 parent 99de640 commit c3d21d4
Show file tree
Hide file tree
Showing 3 changed files with 64 additions and 50 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
Expand Down Expand Up @@ -47,34 +46,36 @@ public class JoinedBbsController {
@Autowired
private ServletContext application; // ←いいね件数を保存するため

/**
* 記事のフォームを初期化します.
*
* @return 記事フォーム
*/
@ModelAttribute
public JoinedArticleForm setUpArticleForm() {
return new JoinedArticleForm();
}

/**
* コメントのフォームを初期化します.
*
* @return コメントフォーム
*/
@ModelAttribute
public JoinedCommentForm setUpCommentForm() {
return new JoinedCommentForm();
}
// /**
// * 記事のフォームを初期化します.
// *
// * @return 記事フォーム
// */
// @ModelAttribute
// public JoinedArticleForm setUpArticleForm() {
// return new JoinedArticleForm();
// }

// /**
// * コメントのフォームを初期化します.
// *
// * @return コメントフォーム
// */
// @ModelAttribute
// public JoinedCommentForm setUpCommentForm() {
// return new JoinedCommentForm();
// }

/**
* 掲示板を表示します.
*
* @param model モデル
* @param model モデル
* @param joinedArticleForm 記事フォーム リクエストスコープ格納用
* @param joinedCommentForm コメントフォーム リクエストスコープ格納用
* @return 掲示板画面
*/
@GetMapping("")
public String index(Model model) {
public String index(Model model, JoinedArticleForm joinedArticleForm, JoinedCommentForm joinedCommentForm) {
// 計測スタート
LocalDateTime time = LocalDateTime.now();

Expand All @@ -99,38 +100,42 @@ public String index(Model model) {
/**
* 記事を投稿します.
*
* @param form フォーム
* @param result リザルト
* @param model モデル
* @param joinedArticleform フォーム
* @param result リザルト
* @param model モデル
* @param joinedCommentForm コメントフォーム
* @return 掲示板画面
*/
@PostMapping("/postarticle")
public String postarticle(@Validated JoinedArticleForm form, BindingResult result, Model model) {
public String postarticle(@Validated JoinedArticleForm joinedArticleform, BindingResult result, Model model,
JoinedCommentForm joinedCommentForm) {
if (result.hasErrors()) {
return index(model);
return index(model, joinedArticleform, joinedCommentForm);
}
JoinedArticle article = new JoinedArticle();
BeanUtils.copyProperties(form, article);
BeanUtils.copyProperties(joinedArticleform, article);
articleService.save(article);
return "redirect:/joinedbbs";
}

/**
* コメントを投稿します.
*
* @param form フォーム
* @param result リザルト
* @param model モデル
* @param joinedCommentForm フォーム
* @param result リザルト
* @param model モデル
* @param joinedArticleForm 記事フォーム
* @return 掲示板画面
*/
@PostMapping("/postcomment")
public String postcomment(@Validated JoinedCommentForm form, BindingResult result, Model model) {
public String postcomment(@Validated JoinedCommentForm joinedCommentForm, BindingResult result, Model model,
JoinedArticleForm joinedArticleform) {
if (result.hasErrors()) {
return index(model);
return index(model, joinedArticleform, joinedCommentForm);
}
JoinedComment comment = new JoinedComment();
BeanUtils.copyProperties(form, comment);
comment.setArticleId(form.getArticleId());
BeanUtils.copyProperties(joinedCommentForm, comment);
comment.setArticleId(joinedCommentForm.getArticleId());
commentService.save(comment);
return "redirect:/joinedbbs";
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,11 +62,14 @@ public SeparatedCommentForm setCommentForm() {
/**
* 記事とコメントを表示するメソッド.
*
* @param model モデル
* @param model モデル
* @param separatedArticleForm 記事フォーム リクエストスコープ格納用
* @param separatedCommentForm コメントフォーム リクエストスコープ格納用
* @return 掲示板画面
*/
@GetMapping("")
public String index(Model model) {
public String index(Model model, SeparatedArticleForm separatedArticleForm,
SeparatedCommentForm separatedCommentForm) {
// 計測スタート
LocalDateTime time = LocalDateTime.now();
List<SeparatedArticle> articleList = articleService.findAll();
Expand Down Expand Up @@ -96,35 +99,41 @@ public String index(Model model) {
/**
* 記事を追加するメソッド.
*
* @param form 記事フォーム
* @param model モデル
* @param separatedArticleForm 記事フォーム
* @param result リザルト
* @param model モデル
* @param separatedCommentForm コメントフォーム リクエストスコープ格納用
* @return 掲示板画面
*/
@PostMapping("/postarticle")
public String insertArticle(@Validated SeparatedArticleForm form, BindingResult result, Model model) {
public String insertArticle(@Validated SeparatedArticleForm separatedArticleForm, BindingResult result, Model model,
SeparatedCommentForm separatedCommentForm) {
if (result.hasErrors()) {
return index(model);
return index(model, separatedArticleForm, separatedCommentForm);
}
SeparatedArticle article = new SeparatedArticle();
BeanUtils.copyProperties(form, article);
BeanUtils.copyProperties(separatedArticleForm, article);
articleService.save(article);
return "redirect:/separatedbbs";
}

/**
* コメントを追加するメソッド.
*
* @param form コメントフォーム
* @param model モデル
* @param separatedCommentForm コメントフォーム
* @param result リザルト
* @param model モデル
* @param separatedArticleForm 記事フォーム
* @return 掲示板画面
*/
@PostMapping("/postcomment")
public String insertComment(@Validated SeparatedCommentForm form, BindingResult result, Model model) {
public String insertComment(@Validated SeparatedCommentForm separatedCommentForm, BindingResult result, Model model,
SeparatedArticleForm separatedArticleForm) {
if (result.hasErrors()) {
return index(model);
return index(model, separatedArticleForm, separatedCommentForm);
}
SeparatedComment comment = new SeparatedComment();
BeanUtils.copyProperties(form, comment);
BeanUtils.copyProperties(separatedCommentForm, comment);
commentService.save(comment);
return "redirect:/separatedbbs";
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
*/
public class SeparatedCommentForm {
/** 記事ID. */
private Long articleId;
private Integer articleId;

/** コメント者名. */
@NotNull(message = "コメント者名は必須入力です")
Expand All @@ -23,11 +23,11 @@ public class SeparatedCommentForm {
@Size(min = 1, message = "コメントは必須入力です")
private String content;

public Long getArticleId() {
public Integer getArticleId() {
return articleId;
}

public void setArticleId(Long articleId) {
public void setArticleId(Integer articleId) {
this.articleId = articleId;
}

Expand Down

0 comments on commit c3d21d4

Please sign in to comment.