Modelandview对象空白

时间:2014-01-01 06:32:27

标签: spring

我是全新的spring mvc我一直在努力研究下面的Hello world示例给出的是我正在使用的文件 当我运行此代码时,hello.jsp中的$ {message}将继续显示为空白

package com.tutorialspoint;  

import org.springframework.stereotype.Controller;  
import org.springframework.web.bind.annotation.RequestMapping;  
import org.springframework.web.servlet.ModelAndView;  

@Controller  
public class HelloWorldController {  

  @RequestMapping("/hello")  
     public ModelAndView helloWorld() {  

         String message = "Hello World, Spring 3.0!";  
         return new ModelAndView("hello", "message", message);  
     }  
} 

名为hello.jsp

的JSP文件
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ page isELIgnored="false"%>
<html>
<head>
<title>Hello World</title>
</head>
<body>

   <h2>${message}</h2>
</body>
</html>

下面的文件是spring-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">  

 <context:component-scan base-package="javaguys.tutorials.spring" />  
 <bean id="viewResolver"  
  class="org.springframework.web.servlet.view.UrlBasedViewResolver">  

  <property name="viewClass"  
   value="org.springframework.web.servlet.view.JstlView" />  
  <property name="prefix" value="/WEB-INF/jsp/" />  
  <property name="suffix" value=".jsp" />  

 </bean>  
</beans> 

2 个答案:

答案 0 :(得分:0)

您的控制器位于包com.tutorialspoint;中,而您的组件扫描不会扫描此包:

<context:component-scan base-package="javaguys.tutorials.spring" />

像这样添加另一个组件扫描:

<context:component-scan base-package="com.tutorialspoint" />

或手动定义控制器的bean。

答案 1 :(得分:0)

这可能不是最新的,也不是开始学习Spring的好例子。

@SpringBootApplication包含@ComponentScan并可以自动完成并添加@EnableSpringMVC和配置注释,此外,除了一些旧的大型遗留项目外,不再使用.jsp,因此最好将React,Angular作为前端学习。

在学习过程中检查spring.io,baeldung,mkyong并祝你好运!

Official tutorials

Spring Hello World