티스토리 뷰
- 계속해서 TIL을 어떻게 쓸건지.. 어떤 방식으로 기록해야 좋은지를 바꿔나가고 있다. 아직도 잘 모르겠지만..
1. 스프링 컨트롤러에서 커맨드 객체를 사용할 때는 @RequestParam을 붙여주면 안된다. 커맨드객체의 변수들의 이름과 넘어오는 파라미터값과 이름을 동일하게 해주면 스프링컨테이너가 자동으로 매핑해서 값을 넣어준다.
2. @RequestParam으로 파라미터를 받을때 null이어도 되는 데이터는 @RequestParam(require = false) 로 해준다
3. 스프링 컨트롤러에서 리다이렉트시 데이터 가지고 가기. 아래처럼 2가지 방식이 있는데 2번 방법은 된다고 하는데 아직 사용을 해보지는 못했다.
1. return "redirect:/orders/payment?cartNum=" + infoList.get(0).getCartNum();
2. RedirectAttributes redirectAttributes
redirectAttributes.addAttribute("message", "하이");
4. 스프링 컨트롤러에서 경고창 띄우기. 검색해보니 방법은 많이 있는 것 같지만. 웬만하면 javascript나 ajax로 요청해서 띄우는 게 속편하고 깔끔하고 쉽다.
5. 스프링 컨트롤러에서 httprequest와 httpresponse를 사용하고 싶다면 서블릿 컨테이너가 생성해주기 때문에 아래 처럼 컨트롤러 매개변수로 넣어주면 알아서 매핑해준다.
public String cartDuplCheck(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse){
}
6. fetch나 ajax요청으로 컨트롤러에서 요청을 처리하고 싶으면 메서드 위에 @ResponseBody를 붙이자. 클래스의 컨트롤러를 모두 api요청으로 만들고 싶다면 클래스 이름위에 @RestController 를 사용하면된다.
@ResponseBody
@GetMapping("/")
public String paymentView(@LoginUser SessionDTO sessionDTO, Principal principal, Model model, @RequestParam List<Long> cartNum) {
}
- 4번에 관해서.. 4번에 적은대로 가능은 하지만, 사용자 친화적인 서비스(내가 말하는 건 아마도 SPA)를 만들고 싶으면 ajax나 fetch처럼 프론트를 따로 만들고 api요청으로 하는 게 참 좋아보이고 조금 더 MVC패턴을 지키는 것 같고 그렇다.
React나 Vue를 사용하지 않더라도 바닐라javascript만으로도 내 수준으로는 충분히 만들 수 있으니 잘 해보자.
'TIL' 카테고리의 다른 글
[TIL] 오늘 배운 것들 2022-10-29 (0) | 2022.10.29 |
---|---|
[TIL] 오늘의 검색내용 2022-10-28 (0) | 2022.10.28 |
[TIL] 오늘 면접 후기 2022-10-26 (0) | 2022.10.26 |
[TIL] Spring WebClient 를 사용해보자. 2022-10-25 (0) | 2022.10.26 |
[TIL] 스프링 서큐리티 사용시 ajax요청 주의점 2022-10-24 (0) | 2022.10.25 |
- Total
- Today
- Yesterday
- JPQL 사용하기
- 이중 콜론 연산자
- C언어
- Builder #SuperBuilder
- Java Double형 비교방법
- Double.compareTo(Double)
- java
- c++ 가변인자
- Java8 #java stream
- 영속성전파
- ##연산자
- Til
- c 가변인자
- 전처리기
- 표준입출력 함수
- 나만의 강점
- #define
- 메소드 참조 연산자
- javascript 문자열 뒤집기
- static의 장점 단점
- MySql 날짜 차이 구하기
- 네트워크 오더링
- JPA #cascade
- JPA #SPRING #ENTITY #DATABASE
- ajax 403에러
- c 매크로
- linux select
- C++
- 매크로
- JavaScript
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |