[SPRING] utym8 charset과 Thymeleaf
SPRINGutym8 charset과 Thymeleaf
Thymeleaf와 함께 Spring을 사용할 때 모든 키릴 문자는 ?????로 표시됩니다. 페이지에.
사용
@RequestMapping (value = "/ login", method = RequestMethod.GET, produce = "text / html; charset = utf-8")
https://stackoverflow.com/a/11866822/1479414 여기에 제안 된대로 https://stackoverflow.com/a/12023816/1479414는 도움이되지 않습니다.
이 문제를 해결하는 방법?
해결법
-
==============================
1.대답은 다음에서 찾을 수 있습니다.
대답은 다음에서 찾을 수 있습니다.
속성 characterEncoding은 templateResolver 및 ThymeleafViewResolver에 명시 적으로 설정되어야합니다.
<bean id="templateResolver" class="org.thymeleaf.templateresolver.ServletContextTemplateResolver"> ... <property name="characterEncoding" value="UTF-8"/> ... </bean> <bean class="org.thymeleaf.spring4.view.ThymeleafViewResolver"> ... <property name="characterEncoding" value="UTF-8"/> ... </bean>
-
==============================
2.나를 위해 일해. 자바 설정
나를 위해 일해. 자바 설정
@Configuration @EnableWebMvc @ComponentScan(basePackages = "com.projectName.controller") public class MVCConfig implements WebMvcConfigurer, ApplicationContextAware { @Autowired private ApplicationContext applicationContext; @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { this.applicationContext = applicationContext; } @Bean public ViewResolver viewResolver(){ ThymeleafViewResolver thymeleafViewResolver = new ThymeleafViewResolver(); thymeleafViewResolver.setTemplateEngine(templateEngine()); thymeleafViewResolver.setCharacterEncoding("UTF-8"); return thymeleafViewResolver; } @Bean public TemplateEngine templateEngine(){ SpringTemplateEngine springTemplateEngine = new SpringTemplateEngine(); springTemplateEngine.setEnableSpringELCompiler(true); springTemplateEngine.setTemplateResolver(templateResolver()); return springTemplateEngine; } @Bean public ITemplateResolver templateResolver(){ SpringResourceTemplateResolver springResourceTemplateResolver = new SpringResourceTemplateResolver(); springResourceTemplateResolver.setApplicationContext(applicationContext); springResourceTemplateResolver.setPrefix("/WEB-INF/views/"); springResourceTemplateResolver.setTemplateMode(TemplateMode.HTML); springResourceTemplateResolver.setSuffix(".html"); springResourceTemplateResolver.setCharacterEncoding("UTF-8"); return springResourceTemplateResolver; } @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry .addResourceHandler("/resources/**") .addResourceLocations("/resources/"); } }
-
==============================
3.나는 thymeleaf html 페이지에서 html 요소를 사용하여 텍스트를 사용하고 있다고 생각합니다. th : 텍스트는 일반 텍스트 만 표시하고,
나는 thymeleaf html 페이지에서 html 요소를 사용하여 텍스트를 사용하고 있다고 생각합니다. th : 텍스트는 일반 텍스트 만 표시하고,
당신의 thymeleaf html 페이지와 함께 특별한 헌장을 사용하고 싶다면 예를 들어 바꿀 필요가 있습니다.
또는
예를 들어
<div th:utext="${user.name}"> Test! </div> // for your controller variable
과
<div th:utext="#{message.username}"> UserName! </div> // for your properties variable
특수 문자를 thymeleaf html 페이지와 함께 사용하기위한 다른 구성은 없습니다.
문제를 해결할 수 있기를 바랍니다.
from https://stackoverflow.com/questions/36397203/utf8-charset-with-thymeleaf by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 스프링 부트에서 DispatcherServlet Initializer 기능을 얻는 방법 (0) | 2019.06.03 |
---|---|
[SPRING] 봄 MVC 최대 절전 모드 인코딩 / 다중 라인 가져 오기 SQL (0) | 2019.06.02 |
[SPRING] Log4j2가 Spring 부트 로깅 구현을 찾을 수 없음 (0) | 2019.05.31 |
[SPRING] 봄 부팅 - JS를 웹 페이지에 추가 할 수 없음 (0) | 2019.05.31 |
[SPRING] 빈의 스프링 정적 초기화 (0) | 2019.05.31 |