2018-5-27 HTML 중복제거
새로운 HTML적용 및 URL리팩토링
- 중복을 제거하기위해서 RequestMapping이라는 어노테이션을 사용을 하게된다.
@Controller
@RequestMapping("/users")
public class UserController {
@Autowired
private UserRepository userRepository;
@PostMapping("")
public String create(User usr) {
System.out.println("User : " + usr);
userRepository.save(usr);
return "redirect:/users";
// redirect:/url로 이동을 하게된다.
// static에 있는 index.html이 아니라, templates에 있는 index.html을 호출을 한다.
}
@GetMapping("")
public String list(Model model) {
model.addAttribute("users", userRepository.findAll());
return "/user/list";
}
- @RequestMapping(“/users/”)를 기본 url로 설계를 하는것이다. 그래서 postMapping과 getMapping에 ““이 들어가있는것이다ㅣ.
이전에는 위의 UserController를 기준으로 있는 메소드들에서 Mapping을 할 경우, PostMapping(“/users”), GetMapping(“/users”)와 같이 Mapping을 진행을 했었다. 이 부분에 대한 /users의 중복을 제거하기 위해서 컨트롤러 위에[ RequestMapping(“/users”)을 설정을 해서 기본으로 세팅이 되게끔했다.
<body>
<div class="container" id="main">
<div class="col-md-10 col-md-offset-1">
<div class="panel panel-default">
<table class="table table-hover">
<thead>
<tr>
HTML코드들을 간결화 할 수 있다.
- 를 mustache문법을 적용을 해봤다.
- 했을경우 앞에있는 “/”를 읽어드리지 못해서 에러가 발생을 한다.
- html중복코드들을 include 디렉토리안에 있는 navigation.html 복사를 해서 저렇게 끌어온다.
-
templates에 있는 html파일들은 반드시 컨트롤러를 통해서 들어와야한다.
- 이전에 중복이 많던 index.html , user.html, list.html 등은 여러부분에 걸쳐서 중복된 코드들이 있었다.
- 여기서 중복이 많은 위에 부분을 include/header.html로
- 중복이 많은 시작부분을 include/navigation.html로 아래 스크립트 부분을 include/footer.html로 만들었다.
중복이 제거된곳에 단지 , 의 형태의 코드만 넣으면 합친 코드들이 나오고 많은 중복을 제거할 수 있다. 또한 변경된 사항이 생기면 해당 부분만 수정하면 전체가 바뀌기 때문에 코드의 가독성과 효율성을 높일 수 있다.
Written on May 27, 2018