@@ -70,6 +70,28 @@ class ScaffoldingViewResolver extends GroovyPageViewResolver implements Resource
70
70
viewCacheKey
71
71
}
72
72
73
+ private Resource resolveResource (Class controllerClass , shortViewName ) {
74
+ Resource res = null
75
+ if (Environment . isDevelopmentMode()) {
76
+ res = new FileSystemResource (new File (BuildSettings . BASE_DIR , " src/main/templates/scaffolding/${ shortViewName} .gsp" ))
77
+ }
78
+
79
+ if (! res?. exists()) {
80
+ def url = IOUtils . findResourceRelativeToClass(controllerClass, " /META-INF/templates/scaffolding/${ shortViewName} .gsp" )
81
+ res = url ? new UrlResource (url) : null
82
+ }
83
+
84
+ if (! res. exists() && templateOverridePluginDescriptor) {
85
+ def url = IOUtils . findResourceRelativeToClass(templateOverridePluginDescriptor, " /META-INF/templates/scaffolding/${ shortViewName} .gsp" )
86
+ res = url ? new UrlResource (url) : null
87
+ }
88
+
89
+ if (! res. exists()) {
90
+ res = resourceLoader. getResource(" classpath:META-INF/templates/scaffolding/${ shortViewName} .gsp" )
91
+ }
92
+ res
93
+ }
94
+
73
95
@Override
74
96
protected View loadView (String viewName , Locale locale ) throws Exception {
75
97
def view = super . loadView(viewName, locale)
@@ -93,26 +115,10 @@ class ScaffoldingViewResolver extends GroovyPageViewResolver implements Resource
93
115
94
116
if (scaffoldValue instanceof Class ) {
95
117
def shortViewName = viewName. substring(viewName. lastIndexOf(' /' ) + 1 )
96
- Resource res = null
97
-
98
- if (Environment . isDevelopmentMode()) {
99
- res = new FileSystemResource (new File (BuildSettings . BASE_DIR , " src/main/templates/scaffolding/${ shortViewName} .gsp" ))
100
- }
101
-
118
+ Resource res = controllerClass. namespace? resolveResource(controllerClass. clazz, " ${ controllerClass.namespace} /${ shortViewName} " ) : null
102
119
if (! res?. exists()) {
103
- def url = IOUtils . findResourceRelativeToClass(controllerClass. clazz, " /META-INF/templates/scaffolding/${ shortViewName} .gsp" )
104
- res = url ? new UrlResource (url) : null
120
+ res = resolveResource(controllerClass. clazz, shortViewName)
105
121
}
106
-
107
- if (! res. exists() && templateOverridePluginDescriptor) {
108
- def url = IOUtils . findResourceRelativeToClass(templateOverridePluginDescriptor, " /META-INF/templates/scaffolding/${ shortViewName} .gsp" )
109
- res = url ? new UrlResource (url) : null
110
- }
111
-
112
- if (! res. exists()) {
113
- res = resourceLoader. getResource(" classpath:META-INF/templates/scaffolding/${ shortViewName} .gsp" )
114
- }
115
-
116
122
if (res. exists()) {
117
123
def model = model((Class ) scaffoldValue)
118
124
def viewGenerator = new GStringTemplateEngine ()
@@ -133,9 +139,7 @@ class ScaffoldingViewResolver extends GroovyPageViewResolver implements Resource
133
139
} else {
134
140
return view
135
141
}
136
-
137
142
}
138
-
139
143
}
140
144
}
141
145
return view
0 commit comments