2011-10-13 74 views
0

Iam写了简单的spring mvc应用程序。但我无法将一个页面重定向到另一个页面。我提到的代码段下面Spring MVC页面未使用simpleformcontroller呈现成功页面

权利要求-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),成功后iam试图调用view-> jsp> body.jsp.But它不会移动到body.jsp.Please需要帮助。

回答

2

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

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

当然,目标必须存在。

+0

Thanks.its working – techsuri