1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.springbyexample.web.servlet.view.tiles2;
18
19 import org.springframework.js.ajax.AjaxUrlBasedViewResolver;
20 import org.springframework.util.StringUtils;
21 import org.springframework.web.servlet.view.AbstractUrlBasedView;
22
23
24
25
26
27
28
29
30 public class TilesAjaxUrlBasedViewResolver extends AjaxUrlBasedViewResolver {
31
32 private String tilesDefinitionName = null;
33 private String tilesBodyAttributeName = null;
34 private String tilesDefinitionDelimiter = null;
35
36
37
38
39 public void setTilesDefinitionName(String tilesDefinitionName) {
40 this.tilesDefinitionName = tilesDefinitionName;
41 }
42
43
44
45
46 public void setTilesBodyAttributeName(String tilesBodyAttributeName) {
47 this.tilesBodyAttributeName = tilesBodyAttributeName;
48 }
49
50
51
52
53 public void setTilesDefinitionDelimiter(String tilesDefinitionDelimiter) {
54 this.tilesDefinitionDelimiter = tilesDefinitionDelimiter;
55 }
56
57
58
59
60
61
62
63
64
65
66 protected AbstractUrlBasedView buildView(String viewName) throws Exception {
67 AbstractUrlBasedView view = super.buildView(viewName);
68
69
70 if (view instanceof DynamicTilesView) {
71 DynamicTilesView dtv = (DynamicTilesView)view;
72
73 if (StringUtils.hasLength(tilesDefinitionName)) {
74 dtv.setTilesDefinitionName(tilesDefinitionName);
75 }
76
77 if (StringUtils.hasLength(tilesBodyAttributeName)) {
78 dtv.setTilesBodyAttributeName(tilesBodyAttributeName);
79 }
80
81 if (tilesDefinitionDelimiter != null) {
82 dtv.setTilesDefinitionDelimiter(tilesDefinitionDelimiter);
83 }
84 }
85
86 return view;
87 }
88
89 }