Add spring.thymeleaf.contentType (defaults to HTML)
User can specify the content type in external properties now, optionally ommitting the charset (since that is duplicated). If charset is not appended by user Spring will do it. Fixes gh-671
This commit is contained in:
		
							parent
							
								
									1e0c1d1564
								
							
						
					
					
						commit
						0b89402240
					
				| 
						 | 
					@ -178,6 +178,9 @@ public class ThymeleafAutoConfiguration {
 | 
				
			||||||
			resolver.setTemplateEngine(this.templateEngine);
 | 
								resolver.setTemplateEngine(this.templateEngine);
 | 
				
			||||||
			resolver.setCharacterEncoding(this.environment.getProperty("encoding",
 | 
								resolver.setCharacterEncoding(this.environment.getProperty("encoding",
 | 
				
			||||||
					"UTF-8"));
 | 
										"UTF-8"));
 | 
				
			||||||
 | 
								resolver.setContentType(addEncoding(
 | 
				
			||||||
 | 
										this.environment.getProperty("contentType", "text/html"),
 | 
				
			||||||
 | 
										resolver.getCharacterEncoding()));
 | 
				
			||||||
			resolver.setExcludedViewNames(this.environment.getProperty(
 | 
								resolver.setExcludedViewNames(this.environment.getProperty(
 | 
				
			||||||
					"excludedViewNames", String[].class));
 | 
										"excludedViewNames", String[].class));
 | 
				
			||||||
			resolver.setViewNames(this.environment.getProperty("viewNames",
 | 
								resolver.setViewNames(this.environment.getProperty("viewNames",
 | 
				
			||||||
| 
						 | 
					@ -188,6 +191,15 @@ public class ThymeleafAutoConfiguration {
 | 
				
			||||||
			return resolver;
 | 
								return resolver;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							private String addEncoding(String type, String charset) {
 | 
				
			||||||
 | 
								if (type.contains("charset=")) {
 | 
				
			||||||
 | 
									return type;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								else {
 | 
				
			||||||
 | 
									return type + ";charset=" + charset;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	@Configuration
 | 
						@Configuration
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -84,6 +84,7 @@ public class ThymeleafAutoConfigurationTests {
 | 
				
			||||||
		assertEquals("UTF-16", ((TemplateResolver) resolver).getCharacterEncoding());
 | 
							assertEquals("UTF-16", ((TemplateResolver) resolver).getCharacterEncoding());
 | 
				
			||||||
		ThymeleafViewResolver views = this.context.getBean(ThymeleafViewResolver.class);
 | 
							ThymeleafViewResolver views = this.context.getBean(ThymeleafViewResolver.class);
 | 
				
			||||||
		assertEquals("UTF-16", views.getCharacterEncoding());
 | 
							assertEquals("UTF-16", views.getCharacterEncoding());
 | 
				
			||||||
 | 
							assertEquals("text/html;charset=UTF-16", views.getContentType());
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	@Test
 | 
						@Test
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue