Код: Выделить всё
plugins {
id 'java'
id 'war' // Add war plugin for web application
}
group = 'com.avenuinsights'
version = '1.0-SNAPSHOT'
repositories {
mavenCentral()
}
dependencies {
def springVersion = '6.2.7'
implementation "org.springframework:spring-webmvc:${springVersion}"
implementation "org.springframework:spring-context:${springVersion}"
implementation group: 'jakarta.servlet', name: 'jakarta.servlet-api', version: '6.1.0'
implementation group: 'jakarta.servlet.jsp', name: 'jakarta.servlet.jsp-api', version: '3.1.1'
implementation group: 'jakarta.servlet.jsp.jstl', name: 'jakarta.servlet.jsp.jstl-api', version: '3.0.2'
implementation group: 'org.glassfish.web', name: 'jakarta.servlet.jsp.jstl', version: '3.0.1'
testImplementation platform('org.junit:junit-bom:5.10.0')
testImplementation 'org.junit.jupiter:junit-jupiter'
}
test {
useJUnitPlatform()
}
< /code>
web.xml < /p>
dispatcher
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
/WEB-INF/spring-mvc.xml
1
dispatcher
/
< /code>
и Spring-mvc.xml < /p>
/first=firstController
/second=secondController
/third=thirdController
< /code>
firstcontroller.java
public class FirstController extends AbstractController {
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
System.out.println("FirstController: Processing request...");
// Forward to the second controller
return new ModelAndView("second.one");
}
}
< /code>
secondcontroller.java
public class SecondController extends AbstractController {
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
System.out.println("SecondController: Processing request...");
// Forward to the third controller
return new ModelAndView("third.one");
}
}
< /code>
и ThirdController.java < /p>
public class ThirdController extends AbstractController {
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
System.out.println("ThirdController: Processing request...");
// Create a model and view to display "Hello, World!"
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("hello.view");
modelAndView.addObject("message", "Hello, World!");
return modelAndView;
}
}
< /code>
и, наконец, translationviewresolver.java < /p>
public class TranslatingViewResolver extends AbstractCachingViewResolver {
public static final String HELLO = "hello.view";
public static final String SECOND = "second.one";
public static final String THIRD = "third.one";
@Override
protected View loadView(String viewName, Locale locale) throws Exception {
if (SECOND.equals(viewName)) {
// Forward to the second controller
return new InternalResourceView("forward:/second");
} else if (THIRD.equals(viewName)) {
// Forward to the third controller
return new InternalResourceView("forward:/third");
} else if (HELLO.equals(viewName)) {
// Forward to the hello JSP
return new JstlView("/WEB-INF/views/hello.jsp");
}
return null;
}
}
localhost: 8080/forwardxml/first
И он должен вернуть JSP, говоря: «Привет, мир!» Что я получаю:
, если я сделал ошибку, пожалуйста, дайте мне знать, но это выглядит как ошибка.>
Подробнее здесь: https://stackoverflow.com/questions/796 ... rk-forward