◆ table 태그
- 표를 구현하는 도구이다.
- 테이블 헤더(thead), 테이블 바디(tbody), 테이블 푸터(tfoot)로 나눠진다.
<thead>
: 제목 부분
<tbody>
: 내용 부분
- 줄
<tr>
과 칸<th>
/<td>
이 자동으로 늘어난다.
<th>
는 제목을 작성하는 칸이다.
- 굵은 글씨에 가운데 정렬
<td>
는 내용을 작성하는 칸이다.
- 일반 글씨에 왼쪽 정렬
- table은 단독으로 사용하지 않고 줄(tr)과 칸(th/td)이 구분되어 있다.
- 내용은 칸 내부에서만 작성이 가능하다.
- 줄마다 칸의 개수는 동일해야 한다.
- 테두리는 table에 border 속성으로 부여한다.
- 폭은 width, 높이는 height로 부여 가능하다.
- 디자인에서 구현하므로 권장하지 않는다.
◆ redirect (리다이렉트)
- 문제) 검색 상황에서 삭제 시 검색이 풀리는 현상이 있다.
-> 이를 막기 위해 삭제 시 번호 뿐 아니라 검색어까지 같이 전달하고
-> 삭제 후 만들어질 페이지를 원래와 동일하게 구현하도록 처리한다.
- 사용 시 데이터를 첨부해야 하는 경우가 있다
- 스프링에서
RedirectAttributes
라는 도구를 제공한다
- Model과 사용법이 동일하다
- redirect는 무조건 GET방식으로 처리되므로 POST는 불가능하다.
@GetMapping("/delete")
public String delete(@RequestParam int no,
@RequestParam(required = false, defaultValue = "") String keyword,
RedirectAttributes attr) {
storeDao.delete(no);
if(keyword.equals("")) {
return "redirect:list";
}
else {
attr.addAttribute("keyword", keyword);
return "redirect:list";
//return "redirect:/store/list"; //절대경로
}
}
◆ 입력창
◆ 검색창
- 검색을 위한 검색창도 존재해야 한다.
- 상용 사이트에서는 브라우저마다 해석하는 기준이 달라서 아이콘이 다르게 나온다.
- 디자인이 브라우저마다 달라서
<select>
를 자주 사용하지 않는다.