더북(TheBook)

로케일을 변경하고자 LocaleChangeInterceptor를 사용합니다.

paramName 프로퍼티는 로케일을 설정할 때 사용할 요청 매개변수 이름을 명시한 것입니다. paramName 프로퍼티 값으로 language를 설정했기 때문에 language 요청 매개변수를 사용해서 로케일을 바꿀 수 있습니다. 예를 들어 웹 요청 URL이 http://.../books/add?language=en이면 요청 매개변수가 language=en으로 로케일을 영어로 설정합니다.

세션에 로케일 정보를 저장하는 SessionLocaleResolver를 사용했습니다.

defaultLocale 프로퍼티는 로케일을 설정할 때 사용할 기본 로케일을 명시한 것입니다. defaultLocale 프로퍼티 값을 ko로 설정했기에 한국어로 설정됩니다.

2. addBook.jsp 파일에서 한국어와 영어를 선택하여 언어를 변경할 수 있도록 추가합니다.

코드 12-6 addBook.jsp

<%@ page contentType="text/html; charset=utf-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> 
...
    <div class="container">
        <div class="float-right">
            <form:form action="${pageContext.request.contextPath}/logout" method="POST">
                <input type="submit" class="btn btn-success" value="Logout"/>
            </form:form>
        </div>

        <div class="float-right" style="padding-right:30px">
            <a href="?language=ko">Korean</a>|<a href="?language=en">English</a>
        </div>

 

        <br><br>
        <form:form modelAttribute="NewBook"
                   action="./add?${_csrf.parameterName}=${_csrf.token}"
                   class="form-horizontal"
                   enctype="multipart/form-data">
        ...

language=ko는 한국어로, language=en은 영어로 바꿉니다. Korean을 클릭하면 폼의 필드 이름은 한국어로, English를 클릭하면 폼의 필드 이름은 영어로 변경됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.