Spring MVC Page不使用simpleformcontroller渲染成功页面

时间:2011-10-13 13:06:48

标签: spring spring-mvc

我写了简单的spring mvc apps.But我无法将一个页面重定向到另一个页面。我在下面提到了代码片段

声明的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&gt; welecome-file)并且成功后我试图调用view-&gt; jsp&gt; body.jsp.But它不会移动到body.jsp。请帮忙。

1 个答案:

答案 0 :(得分:2)

使用重定向视图,您必须指定目标的实际URL,而不是内部jsp的路径。而不是呈现jsp,Spring MVC会将用户重定向到此URL。

示例:new ModelAndView(new RedirectView("/example/helloworld.html"))

当然,目标必须存在。