Страница Spring MVC не отображает страницу успеха с использованием simpleformcontroller

#spring #spring-mvc

#весна #spring-mvc

Вопрос:

Iam написал простые приложения spring mvc.Но я не могу перенаправить одну страницу на другую страницу. Я упомянул фрагмент кода ниже

Claims-servlet.xml

 <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> 
        <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings">
        <props><prop key="/loginpage.htm">loginFormController</prop></props>
    </property>
    </bean>

    <bean id="loginFormController" class="com.aims.controller.LoginFormController">
    <property name="sessionForm"><value>true</value></property>
    <property name="commandName"><value>LoginFormCommand</value></property>
    <property name="commandClass"><value>com.aims.commands.LoginFormCommand</value></property>
    <property name="validator"><ref bean="loginformValidator"/></property> 
    <property name="formView"><value>loginpage</value></property>
    <property name="successView"><value>body</value></property>

    </bean>
    <bean id="loginformValidator" class="com.aims.validator.LoginFormValidator"/>


    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass"><value>org.springframework.web.servlet.view.JstlView</value></property> 

        <property name="suffix"><value>.jsp</value></property>
    </bean>
</beans>
  

Контроллер:

 public class LoginFormController extends SimpleFormController {     
  public ModelAndView onSubmit(Object command, BindException bindException) throws Exception {
 System.out.println("LoginFormController:onSubmit============");
 LoginFormCommand loginform = (LoginFormCommand) command;
 System.out.println("username"   loginform.getUsername()   "Password"
              loginform.getPassword()); 
 return   new ModelAndView(new RedirectView("/WEB-INF/view/jsp/"
              getSuccessView()));
 }}
  

У меня есть два jsp, один из которых

 Webroot>loginpage.jsp
view->jsp>body.jsp
  

Когда браузер открывает автоматически вызываемую loginpage.jsp (web.xml >welecome-file) и после успеха я пытаюсь вызвать view-> jsp> body.jsp.Но он не переходит в body.jsp.Пожалуйста, нужна помощь.

Ответ №1:

В представлении перенаправления вы должны указать фактический URL целевого объекта, а не путь к внутреннему jsp. Вместо рендеринга jsp Spring MVC перенаправит пользователя на этот URL.

Пример: new ModelAndView(new RedirectView("/example/helloworld.html")) .

Конечно, цель должна существовать.