1.测试类如下:
@Controller
@RequestMapping("/")
public class FirstController {
@RequestMapping("/showName")
public ModelAndView showName(String username){
System.out.println("name is ["+username+"]");
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("UserName",username);
modelAndView.setViewName("test");
return modelAndView;
}
}
页面如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page isELIgnored="false" %>
<html>
<head>
<title>用户姓名</title>
</head>
<body>
姓名:${requestScope.get("UserName")}
<hr/>
<br/>
姓名:<c:out value="${UserName}"/>
<br/>
<hr/>
<c:choose>
<c:when test="${UserName != null}">
用户姓名是:${UserName}
</c:when>
<c:otherwise>
没有接收到用户姓名
</c:otherwise>
</c:choose>
</body>
</html>
原因分析:
1.开始以为是jsp页面EL标签问题,但是加入EL依赖包,以及页面引入<%@ page isELIgnored="false"%>之后,依然取不到值。
2.然后查找“conroller”类,发现修改视图modelAndView.setViewName("test")指定页面“test.jsp”不起作用,才发现引入的ModelAndView有问题。
解决方法:
应该是import org.springframework.web.servlet.ModelAndView;
而不是import org.springframework.web.portlet.ModelAndView;
@Controller
@RequestMapping("/")
public class FirstController {
@RequestMapping("/showName")
public ModelAndView showName(String username){
System.out.println("name is ["+username+"]");
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("UserName",username);
modelAndView.setViewName("test");
return modelAndView;
}
}
页面如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page isELIgnored="false" %>
<html>
<head>
<title>用户姓名</title>
</head>
<body>
姓名:${requestScope.get("UserName")}
<hr/>
<br/>
姓名:<c:out value="${UserName}"/>
<br/>
<hr/>
<c:choose>
<c:when test="${UserName != null}">
用户姓名是:${UserName}
</c:when>
<c:otherwise>
没有接收到用户姓名
</c:otherwise>
</c:choose>
</body>
</html>
原因分析:
1.开始以为是jsp页面EL标签问题,但是加入EL依赖包,以及页面引入<%@ page isELIgnored="false"%>之后,依然取不到值。
2.然后查找“conroller”类,发现修改视图modelAndView.setViewName("test")指定页面“test.jsp”不起作用,才发现引入的ModelAndView有问题。
解决方法:
应该是import org.springframework.web.servlet.ModelAndView;
而不是import org.springframework.web.portlet.ModelAndView;