spring boot 국제 화의 MessageSource 사용 방법

머리말
properties 파일 의 디 렉 터 리 수정:application.yml 또는 application.properties 에 spring.message.basename 을 설정 합 니 다.

spring:
  application:
    name: test-worklog
  messages:
    basename: i18n/messages
    encoding: UTF-8

MessageSource 사용:
1.매개 변수 없 음
operation.success=조작 성공.

String msg1 = this.messageSource.getMessage(" operation.success ", null, Locale.CHINA); 
2.동적 매개 변수
start.ge.end=시작 날짜{0}종료 날짜{1}보다 작 아야 합 니 다!

String [] param = {startDate, endDate};

String msg =getMessage("start.ge.end", param);

@Autowired
private MessageSource messageSource;
/**
 *    
 *
 * @param result
 * @return
 */
public String getMessage(String result, Object[] params) {
  String message = "";
  try {
    Locale locale = LocaleContextHolder.getLocale();
    message = messageSource.getMessage(result, params, locale);
  } catch (Exception e) {
    LOGGER.error("parse message error! ", e);
  }
  return message;
}

클래스 에서 MessageSource 를 가 져 올 수 없 는 방법 을 추가 합 니 다.

/**
 *    
 *  :  @Autowired private MessageSource messageSource    
 *
 * @param result
 * @return
 */
public String getMessage(String result, Object[] params) {
  ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
  messageSource.setCacheSeconds(-1);
  messageSource.setDefaultEncoding(StandardCharsets.UTF_8.name());
  messageSource.setBasenames("/i18n/messages");

  String message = "";
  try {
    Locale locale = LocaleContextHolder.getLocale();
    message = messageSource.getMessage(result, params, locale);
  } catch (Exception e) {
    log.error("parse message error! ", e);
  }
  return message;
}

총결산
springboot 국제 화의 MessageSource 사용법 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.springboot 국제 화 MessageSource 의 사용 내용 에 대해 서 는 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기