728x90
1. UtilController 수정
2. find.html
1. UtilController
UtilController 코드
package com.asdanything.ask.controller;
import com.asdanything.ask.Entity.Member;
import com.asdanything.ask.Entity.Register;
import com.asdanything.ask.dto.RegisterDto;
import com.asdanything.ask.repository.MemberRepository;
import com.asdanything.ask.repository.RegisterRepository;
import com.asdanything.ask.service.RegisterService;
import lombok.RequiredArgsConstructor;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.Valid;
import java.util.List;
@Controller
@RequiredArgsConstructor
public class UtilController {
private final RegisterService registerService;
private final MemberRepository memberRepository;
private final RegisterRepository registerRepository;
@GetMapping("/util/find")
public String findForm(Model model){
List<Register> findAll = registerRepository.findAll();
model.addAttribute("findRegister",findAll);
String search="";
model.addAttribute("search", search);
return "util/find";
}
@PostMapping("/util/find")
public String find(@RequestParam String search, Model model){
System.out.println(search);
List<Register> findSearch = registerRepository.findByAbilityContaining(search);
model.addAttribute("findSearch", findSearch);
return "util/search";
}
~
~
~
}
- util/find post매핑의 메소드를 추가했습니다.
- @RequestParam을 통해서 검색된 단어를 가져오고 그 단어를 이용해서 registerRepository에서 데이터를 찾아옵니다.
2. find.html
find.html 코드
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
</head>
<body>
<h2>찾아보기</h2>
<form action="/util/find" method="post">
<div>
<label th:for="search">검색</label>
<input th:type="text" name="search" placeholder="이름을 입력하세요">
</div>
<button type="submit">제출하기</button>
</form>
<table border="1">
<thead>
<tr>
<td>순번</td>
<td>능력</td>
<td>주소</td>
<td>핸드폰</td>
<td>이름</td>
</tr>
</thead>
<tbody>
<tr th:each="register, status:${findRegister}">
<td th:text="${status.index}"></td>
<td th:text="${register.ability}"></td>
<td th:text="${register.address}"></td>
<td th:text="${register.phoneNum}"></td>
<td th:text="${register.member.getName()}"></td>
</tr>
</tbody>
</table>
</body>
</html>
3. 결과물 및 다음 기능
USER 계정의 찾아보기 페이지
원하는 단어를 입력하고 얻은 화면 ex) 세탁기
이제까지 로그인 회원가입, 등록, 검색을 완성했습니다.
앞으로 기능에 대한 계획은
회원정보 수정, 등록 수정, 댓글 기능을 계획하고 있습니다.
728x90
'스프링' 카테고리의 다른 글
[스프링 시큐리티] custom한 authentication받기 (0) | 2023.01.25 |
---|---|
스프링 이메일 인증 (0) | 2021.11.12 |
스프링 권한에 따라 다른 기능 추가 - 등록, 찾기 (0) | 2021.10.07 |
스프링 시큐리티를 이용한 회원가입과 로그인 4 - 유효성 완료 (0) | 2021.10.03 |
스프링 시큐리티를 이용한 회원가입과 로그인 3 - html 화면 (0) | 2021.10.02 |
댓글