実現したいこと
ログインしているユーザーの「ユーザーテーブルのid」と「記事テーブルのuse_id(エンティティではuserId」が一致している場合、「削除する」ボタンを表示したい。
発生している問題・分からないこと
エラーは発生していないが、ログインしているユーザーの「ユーザーテーブルのid」と「記事テーブルのuse_id(エンティティではuserId」が一致している場合、「削除する」ボタンを表示したいが表示されない。
表示する方法を知りたいです。
該当のソースコード
Userエンティティ
1package jp.co.xxx.entity; 2 3import javax.persistence.Column; 4import javax.persistence.Entity; 5import javax.persistence.GeneratedValue; 6import javax.persistence.GenerationType; 7import javax.persistence.Id; 8import javax.persistence.Table; 9 10import lombok.Getter; 11import lombok.Setter; 12 13@Getter 14@Setter 15@Entity 16@Table(name = "user") 17public class User { 18 19 /** 20 * 会員id 21 */ 22 @Id 23 @GeneratedValue(strategy = GenerationType.IDENTITY) 24 private Integer id; 25 /** 26 * 会員名 27 */ 28 @Column 29 private String userName; 30 /** 31 * パスワード 32 */ 33 @Column 34 private String password; 35}
postエンティティ
1package jp.co.xxx.entity; 2 3import java.time.LocalDateTime; 4import java.sql.Timestamp; 5import javax.persistence.Column; 6import javax.persistence.Entity; 7import javax.persistence.GeneratedValue; 8import javax.persistence.GenerationType; 9import javax.persistence.Id; 10import javax.persistence.Table; 11 12import org.springframework.data.jpa.repository.Temporal; 13import org.springframework.format.annotation.DateTimeFormat; 14 15import lombok.Getter; 16import lombok.Setter; 17 18@Getter 19@Setter 20@Entity 21@Table(name = "post") 22public class Post { 23 24 @Id 25 @GeneratedValue(strategy = GenerationType.IDENTITY) 26 private int id; 27 28 @DateTimeFormat(pattern = "dd/MM/yyyy") 29 private LocalDateTime insertDate; 30 31 @Column 32 private String contents; 33 34 @Column 35 private String title; 36 37 @Column 38 private String userId; 39}
postコントローラー
1 // 投稿記事一覧表示機能 2 @RequestMapping("/findAll") 3 public String showList(Model model) { 4 5 List<Post> post = postRepository.findAll(); 6 if (!post.isEmpty()) { 7 model.addAttribute("post", post); 8 } else { 9 model.addAttribute("errMessage", "投稿記事は存在しません。"); 10 } 11 return "index/index"; 12 }
thymeleaf
1<tr th:each="post: ${post}"> 2 省略〜〜 3 4 <!-- 削除するボタン --> 5 <th:block th:if="${session.users != null && session.users.id == post.userId }"> 6 <dd class="link_area"> 7 <td><!-- <form action="/post/delete/check/{id}(id=${post.id})"> --> 8 <td> <form th:action="@{/post/delete/check/{id}(id=${post.id})}"> 9 <div> 10 <!-- <div style="text-align: center;"> 11 <input type="hidden" name="id" th:value="${post.id}" /> <input 12 type="submit" value="削除する" /> --> 13 14 <input type="submit" value="削除する" /> 15 </div> </form></td> 16 17 </th:block> 18</tr>
特になし
試したこと・調べたこと
上記の詳細・結果
<th:block th:if="${session.users != null && session.users.id eq post.userId }">
や
<th:block th:if="${session.users != null && session.users.id == post.userId }">
を試したが、「削除する」ボタンが出てこなかったです。
補足
バージョン:JDK8、spring boot 2.6
postテーブルのidに1のものがあり、
userテーブルにuser_idが1のものがあります。
0 コメント