Skip to content

Commit 1034b0d

Browse files
committed
Tiles 3 TilesViewResolver allows for specifying custom TilesView subclasses as well
Issue: SPR-12075 (cherry picked from commit 7c57424)
1 parent c08ded7 commit 1034b0d

File tree

1 file changed

+19
-5
lines changed

1 file changed

+19
-5
lines changed

spring-webmvc-tiles3/src/main/java/org/springframework/web/servlet/view/tiles3/TilesViewResolver.java

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2012 the original author or authors.
2+
* Copyright 2002-2014 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -13,9 +13,11 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16+
1617
package org.springframework.web.servlet.view.tiles3;
1718

1819
import org.apache.tiles.request.render.Renderer;
20+
1921
import org.springframework.web.servlet.view.UrlBasedViewResolver;
2022

2123
/**
@@ -24,31 +26,43 @@
2426
*
2527
* @author Nicolas Le Bas
2628
* @author Rossen Stoyanchev
29+
* @author Juergen Hoeller
2730
* @since 3.2
2831
*/
2932
public class TilesViewResolver extends UrlBasedViewResolver {
3033

3134
private Renderer renderer;
3235

3336

37+
public TilesViewResolver() {
38+
setViewClass(requiredViewClass());
39+
}
40+
41+
42+
/**
43+
* Requires {@link TilesView}.
44+
*/
3445
@Override
35-
protected Class<?> getViewClass() {
46+
protected Class<?> requiredViewClass() {
3647
return TilesView.class;
3748
}
3849

3950
/**
40-
* Set the {@link Renderer} to use. If not set, by default
41-
* {@link org.apache.tiles.renderer.DefinitionRenderer} is used.
51+
* Set the {@link Renderer} to use. If not specified, a default
52+
* {@link org.apache.tiles.renderer.DefinitionRenderer} will be used.
4253
* @see TilesView#setRenderer(Renderer)
4354
*/
4455
public void setRenderer(Renderer renderer) {
4556
this.renderer = renderer;
4657
}
4758

59+
4860
@Override
4961
protected TilesView buildView(String viewName) throws Exception {
5062
TilesView view = (TilesView) super.buildView(viewName);
51-
view.setRenderer(this.renderer);
63+
if (this.renderer != null) {
64+
view.setRenderer(this.renderer);
65+
}
5266
return view;
5367
}
5468

0 commit comments

Comments
 (0)