티스토리 뷰
자바스크립트 파일에서 적절한 에러메세지를 보여주기 위해서는 위와 같이 label.properties라는 파일을 만들어 줘야한다.
만들고 나서 label.properties파일에 오른쪽버튼을 누르고 properties에 들어가 오른쪽 위 그림처럼 UTF-8로 설정해주어야지 한글이 적절하게 출력된다.
그다음은 이것을 사용하는 방법에 대해서 얘기하겠다. 우선은 스프링 설정파일에서 설정을 해주어야 한다.
그래야 스프링이 label.properties의 위치를 알 수 있고, 그에따라 적절하게 에러메세지를 출력할수 있게 된다. 아래 내용은 servlet-context.xml에 있는 내용이다.
메시지 프로퍼티 파일은 여러 개를 설정할수 있다. 또한 한글을 출력하기 위해 utf-8로 설정해야한다.
<beans:bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<beans:property name="basenames">
<beans:list>
<beans:value>classpath:/message/label</beans:value>
</beans:list>
</beans:property>
<beans:property name="defaultEncoding" value="UTF-8"/>
</beans:bean>
위 내용은 login.jsp의 내용이다. 보면 <form:errors/>라는 태그를 볼수 있는데, 이것의 의미는 commandName으로 들어와있는 userDto 자체에 에러코드를 넣겠다는 뜻이다.
<form:errors path="필드명"/> 이런식으로 써있으면 커맨드 객체에 있는 필드에 설정돼있는 에러코드별 에러메시지를 출력하게 되는데
Path가 없으면 커맨드 객체 그 자체에 설정돼있는 에러메시지를 출력하겠다는 뜻이다.
로그인 실패시 서비스 객체에서 컨트롤러로 예외를 던지고 컨트롤러는 그 예외를 받아서 IDPASSNOTMATCH라는 에러코드를 설정 한 뒤,
다시 로그인을 받기 위해서 return "login"을 하게 된다.
그렇게 되면 다시 제어가 login.jsp로 넘어가고 처음에는 에러코드가 설정돼있지 않았지만
이제는 컨트롤러 에서 에러코드가 설정되어서 그에따라 폼태그에 있는 errors부분에 에러메세지가 한글로 출력이 되게 된다.
'컴퓨터 공학과 졸업 > 스프링 프로젝트' 카테고리의 다른 글
스프링 회원관리 비밀번호 찾기 (2) | 2017.08.08 |
---|---|
스프링+mybatis 회원정보 출력하기 (0) | 2017.08.08 |
스프링 로그아웃 후 뒤로가기 막기 (1) | 2017.08.08 |
스프링(Spring) 로그인 인터셉트 (비로그인 회원 접근 제한) (1) | 2017.08.07 |
mybatis+spring+httpsession 로그인 및 로그인 유지 기능 (0) | 2017.08.07 |
- Total
- Today
- Yesterday
- webpack
- state
- type alias
- atomic design
- rendering scope
- javascript
- await
- useRef
- Action
- react hooks
- typescript
- computed
- reflow
- Polyfill
- reactdom
- server side rendering
- mobx
- design system
- es6
- Babel
- return type
- promise
- Next.js
- async
- react
- storybook
- props
- useEffect
- hydrate
- reducer
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |