공부기록/Spring

Spring MVC2

jhs0129 2022. 1. 7. 21:16
320x100
반응형

메세지

사용이유

다양한 화면에서 하나의 텍스트 메세지를 한 곳에서 관리하고 사용하도록 하기 위해서 사용된다

메세지 설정방법

resources파일 아래에 messages.properties파일을 만들어서 안에 key-value형식으로 값을 설정을 해둔다

메세지 사용방법

@Configuration
public class MessageConfigJava {

    @Bean
    public MessageSource messageSource(){
        ResourceBundleMessageSource message = new ResourceBundleMessageSource();
        message.setBasenames("messages", "messages_en");
        message.setDefaultEncoding("utf-8");
        return message;
    }
}
<bean id="messageSource"
    class="org.springframework.context.support.ResourceBundleMessageSource">
    <propertiy name="basename">
        <value>message</value>
    </property>
</bean>

두가지 방법중 하나를 사용하여 messageSource를 받아서 getMessage메소드를 통해서 미리 지정해둔 key값을 통해 value를 불러 올 수 있다

public void getMessage(){
    AnnotationConfigApplicationContext ctx = 
    new AnnotationConfigApplicationContext(MessageConfigJava.class);

    MessageSource source = ctx.getBean(MessageSource.class);

    String result = source.getMessage("hello", null, null);
    System.out.println("result = " + result);
}

spring boot에서는 이러한 설정을 자동으로 해주므로 따로 설정을 할 필요가 없다

thymeleaf에서 사용법

th:text="#{key}를 사용하여 값을 불러올 수 있다

참고

인프런_스프링 MVC 2편 - 백엔드 웹개발 핵심 기술_김영한 님 강의
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-2/dashboard

 

320x100
반응형