Skip to content

Commit 2144813

Browse files
committed
FragmentsRendering exposes its fragments
Closes gh-35775
1 parent 67a9230 commit 2144813

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

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

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import java.io.IOException;
2020
import java.util.ArrayList;
2121
import java.util.Collection;
22+
import java.util.Collections;
2223
import java.util.Locale;
2324
import java.util.Map;
2425

@@ -59,7 +60,7 @@ final class DefaultFragmentsRendering implements FragmentsRendering {
5960

6061
this.status = status;
6162
this.headers = headers;
62-
this.modelAndViews = new ArrayList<>(fragments);
63+
this.modelAndViews = Collections.unmodifiableCollection(new ArrayList<>(fragments));
6364
}
6465

6566

@@ -79,6 +80,12 @@ public boolean isRedirectView() {
7980
return false;
8081
}
8182

83+
@Override
84+
public Collection<ModelAndView> fragments() {
85+
return this.modelAndViews;
86+
}
87+
88+
8289
@Override
8390
public void resolveNestedViews(ViewResolver resolver, Locale locale) throws Exception {
8491
for (ModelAndView mv : this.modelAndViews) {

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,12 @@ public interface FragmentsRendering extends SmartView {
5353
*/
5454
HttpHeaders headers();
5555

56+
/**
57+
* Return the {@code ModelAndView} for each fragment.
58+
* @since 6.2.15
59+
*/
60+
Collection<ModelAndView> fragments();
61+
5662

5763
/**
5864
* Create a builder with one HTML fragment, also inheriting attributes from

0 commit comments

Comments
 (0)