0
好的,我完全是Spring MVC的新手。應該有一個明顯的缺失部分,但我無法看到它幾個小時。 JSP說我傳遞的數據是空的。ModelAndView傳遞的對象爲null
這是我的調度員sevlet,沒有在Netbeans中的示例XML太不一樣了,切像名稱空間的部分:
<?xml version="1.0" encoding="UTF-8"?>
<beans>
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>
<bean id="handlerMapping" class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="index.htm">indexController</prop>
<!--<prop key="hello.htm">helloController</prop> -->
</props>
</property>
</bean>
<bean name="/hello.oi" class="controllers.HelloController"/>
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/jsp/"
p:suffix=".jsp" />
<!--
The index controller.
-->
<bean name="indexController"
class="org.springframework.web.servlet.mvc.ParameterizableViewController"
p:viewName="index" />
</beans>
這是我的控制器的HelloController:
@Controller
public class HelloController {
@RequestMapping
public ModelAndView hello() {
String str = "this is my message";
System.out.println(str);
ModelAndView mav=new ModelAndView();
mav.setView("hello");
mav.addObject("msg", str);
return mav;
}
}
這是JSP文件的hello.jsp:
<!DOCTYPE html>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>${msg eq null}...</h1>
<br />
<h1>${msg}...</h1>
</body>
</html>
控制器方法打印消息控制檯,但JSP呈現「真......」很好,沒有什麼,而不是我的短信..
控制器代碼無法編譯。 ModelAndView中沒有.setView(String),只有.setView(View)和.setViewName(String)。請檢查您的代碼,並返回正確的來源。 –