Skip to content

Commit 6639320

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

File tree

1 file changed

+19
-6
lines changed

1 file changed

+19
-6
lines changed

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

Lines changed: 19 additions & 6 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,32 +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-
@SuppressWarnings("rawtypes")
36-
protected Class getViewClass() {
46+
protected Class<?> requiredViewClass() {
3747
return TilesView.class;
3848
}
3949

4050
/**
41-
* Set the {@link Renderer} to use. If not set, by default
42-
* {@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.
4353
* @see TilesView#setRenderer(Renderer)
4454
*/
4555
public void setRenderer(Renderer renderer) {
4656
this.renderer = renderer;
4757
}
4858

59+
4960
@Override
5061
protected TilesView buildView(String viewName) throws Exception {
5162
TilesView view = (TilesView) super.buildView(viewName);
52-
view.setRenderer(this.renderer);
63+
if (this.renderer != null) {
64+
view.setRenderer(this.renderer);
65+
}
5366
return view;
5467
}
5568

0 commit comments

Comments
 (0)