Added configuration parameters at ThymeleafProperties for "fullModeViewNames" and "chunkedModeViewNames"
This commit is contained in:
committed by
Brian Clozel
parent
ab8aa6bb6c
commit
7de6472477
@@ -264,6 +264,8 @@ public class ThymeleafAutoConfiguration {
|
||||
resolver.setResponseMaxChunkSizeBytes(
|
||||
this.properties.getReactive().getMaxChunkSize());
|
||||
}
|
||||
resolver.setFullModeViewNames(this.properties.getReactive().getFullModeViewNames());
|
||||
resolver.setChunkedModeViewNames(this.properties.getReactive().getChunkedModeViewNames());
|
||||
// This resolver acts as a fallback resolver (e.g. like a
|
||||
// InternalResourceViewResolver) so it needs to have low precedence
|
||||
resolver.setOrder(Ordered.LOWEST_PRECEDENCE - 5);
|
||||
|
||||
@@ -227,6 +227,19 @@ public class ThymeleafProperties {
|
||||
*/
|
||||
private List<MediaType> mediaTypes;
|
||||
|
||||
/**
|
||||
* Comma-separated list of view names (patterns allowed) that should be executed in FULL mode
|
||||
* even if a max chunk size is set.
|
||||
*/
|
||||
private String[] fullModeViewNames;
|
||||
|
||||
/**
|
||||
* Comma-separated list of view names (patterns allowed) that should be the only ones executed
|
||||
* in CHUNKED mode when a max chunk size is set.
|
||||
*/
|
||||
private String[] chunkedModeViewNames;
|
||||
|
||||
|
||||
public List<MediaType> getMediaTypes() {
|
||||
return this.mediaTypes;
|
||||
}
|
||||
@@ -243,6 +256,22 @@ public class ThymeleafProperties {
|
||||
this.maxChunkSize = maxChunkSize;
|
||||
}
|
||||
|
||||
public String[] getFullModeViewNames() {
|
||||
return this.fullModeViewNames;
|
||||
}
|
||||
|
||||
public void setFullModeViewNames(String[] fullModeViewNames) {
|
||||
this.fullModeViewNames = fullModeViewNames;
|
||||
}
|
||||
|
||||
public String[] getChunkedModeViewNames() {
|
||||
return this.chunkedModeViewNames;
|
||||
}
|
||||
|
||||
public void setChunkedModeViewNames(String[] chunkedModeViewNames) {
|
||||
this.chunkedModeViewNames = chunkedModeViewNames;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -112,6 +112,22 @@ public class ThymeleafReactiveAutoConfigurationTests {
|
||||
assertThat(views.getViewNames()).isEqualTo(new String[] { "foo", "bar" });
|
||||
}
|
||||
|
||||
@Test
|
||||
public void overrideFullModeViewNames() throws Exception {
|
||||
load(BaseConfiguration.class, "spring.thymeleaf.reactive.fullModeViewNames:foo,bar");
|
||||
ThymeleafReactiveViewResolver views = this.context
|
||||
.getBean(ThymeleafReactiveViewResolver.class);
|
||||
assertThat(views.getFullModeViewNames()).isEqualTo(new String[] { "foo", "bar" });
|
||||
}
|
||||
|
||||
@Test
|
||||
public void overrideChunkedModeViewNames() throws Exception {
|
||||
load(BaseConfiguration.class, "spring.thymeleaf.reactive.chunkedModeViewNames:foo,bar");
|
||||
ThymeleafReactiveViewResolver views = this.context
|
||||
.getBean(ThymeleafReactiveViewResolver.class);
|
||||
assertThat(views.getChunkedModeViewNames()).isEqualTo(new String[] { "foo", "bar" });
|
||||
}
|
||||
|
||||
@Test
|
||||
public void templateLocationDoesNotExist() throws Exception {
|
||||
load(BaseConfiguration.class,
|
||||
|
||||
Reference in New Issue
Block a user