WebBack/Spring(27)
-
[Spring] BindingResult
public String main(@ModelAttribute("myDate") MyDate date)ModelAttribute는 생략할 수 있다. URL에서 파라미터를 MyDate에 String으로 저장한다. 이 때 WebDataBinder이 타입 변환과 데이터 검증을 해주고 결과 혹은 에러를 BindingResult에 저장한다. 그리고 이를 컨트롤러에 넘겨줄 수 있다.
2024.07.20 -
[Spring] EL에서 템플릿 리터럴 인식시키기
자바스크립트의 ${}(템플릿 리터럴)과 El의 ${}을 제대로 인식하지 못하는 경우가 있다. document.getElementById("msg").innerHTML = ` ${msg}`; 예를 들어서 위 코드의 ${msg}는 자바스크립트의 템플릿 리터럴이다. 하지만 서버측에서 이를 브라우저에서 실행하기 전에 먼저 El로 인식해서 처리하기 때문에 출력이 제대로 되지 않는다. 이를 해결하기 위해서는 ''로 묶고 이를 다시 ${}로 묶으면 된다. function setMessage(msg, element){ document.getElementById("msg").innerHTML = ` ${'${msg}'}`; if(element) { ele..
2024.07.20 -
[Spring] HTML 파일 인코드 설정 변경
돋보기를 누르고 preference에서 html files를 검색한다. Encoding을 UTF-8로 바꾸준다. 마찬가지로 jsp files도 똑같이 UTF-8로 바꾸어준다. 앞으로 HTML 파일을 작성하거나 HTML 파일을 JSP로 변경할 때에 한글이 깨지는 것이 방지된다.
2024.07.19 -
[Spring] 회원가입 화면 예시 폼
Register 아이디 비밀번호 이름 이메일 생일 페이스북 카카오톡 인스타그램 회원 가입 form에는 action="전송할 URL"과 method="get(디폴트값) or post"를 작성해야 입력된 값이 이동된다. Get은 Head가 있고 body는 없다. 그래서 입력한 값은 쿼리스트링을 통해 서버로 넘겨진다. action의 디폴트는 자기 자신이기 때문에 자신에게 다시 전송된다. input 태그에 넣은 name에 의해서 키의 이름이 정해진다. 참고로 label의 경우에는 모두 이름이 같아서 값만 다르고 이름이 같은 값이 넘어간다. 이럴 때에는 ${paramVa..
2024.07.19 -
[Spring] 리소스 불러올 때 URL 경로에 resources 빼는 방법
[src] -> [main] -> [webapp] -> [WEB-INF] -> [spring] 에 들어가면 servlet-context와 root-context를 찾을 수 있다. 앱과 관련된 설정은 appServlet에 있는 servlet-context에 저장되어 있고, 앱과 관련이 없는 것은 root-context에 저장되어 있다. servlet-context.xml에 들어가서 resources mappiing="/resources/**"부분에서 resources를 지워버리면 된다. 이제 정적리소스를 불러올 때 resources를 붙이지 않아도 된다.
2024.07.19 -
[Spring] @ModelAttribute
@ModelAttribute(컨트롤 메서드의 매개변수)@ModelAttribute는 적용 대상을 Model의 속성으로 자동 추가해주는 애너테이션이다. myDate가 key로 date의 주소값이 value로 저장된다. public String main(@ModelAttribute MyDate date, Model m) {} 따라서 m.addAttribute("myDate", date)를 따로 명령하지 않아도 된다. 본래는 @ModelAttribute("키 이름")MyDate date로 적어야 하지만 생략하면 MyDate의 앞글자가 소문자가 된 값을 key로 사용한다. @ModelAttribute(반환 타입)아래처럼 반환 타입에도 적용할 수 있다. @ModelAttribute("키 이름")를 적으면 된다. ..
2024.07.19