首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

SpringMVC 跳转有关问题

2013-08-24 
SpringMVC 跳转问题本帖最后由 Flashzx 于 2013-08-15 18:31:05 编辑框架搭好后程序可以正常运行,但在retu

SpringMVC 跳转问题
本帖最后由 Flashzx 于 2013-08-15 18:31:05 编辑 框架搭好后程序可以正常运行,但在return ModelAndView ( new ModelAndView("goto.jsp"))时不是跳转指定的页面,而是跳转 @requestMapping("list")指定的访问路径,也就是 list.jsp 而不是 goto.jsp。求解决.

代码如下:

web.xml:


<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">


<servlet> 
        <servlet-name>SpringMVC</servlet-name> 
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
        <load-on-startup>1</load-on-startup> 
    </servlet>
    <servlet-mapping> 
        <servlet-name>SpringMVC</servlet-name> 
        <url-pattern>*.do</url-pattern> 
    </servlet-mapping>


  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
     <welcome-file>index.html</welcome-file>
  </welcome-file-list>
</web-app>




springmvc-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" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation=" 
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean
class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
<!-- Spring MVC的注解功能,完成请求和注解POJO的映射-->  
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />

<!-- 扫描包 -->
<context:component-scan base-package="com.ld.*.controller" />
<context:component-scan base-package="com.ld.*.service" />
<context:component-scan base-package="com.ld.*.dao" />


<!-- 模型视图名称解析 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 如果使用jstl的话,配置下面的属性-->
<property name="viewClass">
<value>org.springframework.web.servlet.view.JstlView</value>
</property>

<property name="prefix">
<value>/WEB-INF/jsp/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
</beans>




IndexController.java


package com.ld.test.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.portlet.ModelAndView;

@Controller
public class IndexController {

@RequestMapping("/list")
public ModelAndView golist() {
ModelAndView view = new ModelAndView("/goto.jsp");

return view;
}

}



index.jsp


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>SpringMVC</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
  </head>
  
  <body>
     Spring MVC 架构测试
       
      <a href="list.do">转跳测试</a>
  </body>
</html>



goto.jsp:


<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <title>测试页面</title>
    </head>
  
  <body>
    goto List Test
    
    Success!!!!!!!!!!
  </body>
</html>



报错截图:

SpringMVC 跳转有关问题
springmvc ModelAndView
[解决办法]
我的理解是,你这个结果应该是没有错的;虽然我没有用过spring MVC,但曾经看过这方面的文章。通过springmvc-servlet.xml进行渲染,对于list.do它就是这样处理,加入前缀和后缀就是你的结果,这恰说明了你的控制器没有起作用,你要告诉系统如何调用,而这恰恰是需要配置的,你不妨这样试试看,做一个表单,然后把表单与控制器关联起来就行,我想这方面应该有高手的,我没有用过只能算菜鸟。
[解决办法]
看下有没有走你的IndexController?的golist 方法。
[解决办法]
换下包
import org.springframework.web.servlet.ModelAndView;
你的是
import org.springframework.web.portlet.ModelAndView; 

热点排行