03 后台controller数据响应到前端页面

本文将阐述如何将后台获取的数据传递到前端。

1、环境约束

  • win10 64位操作系统
  • idea2018.1.5
  • jdk-8u162-windows-x64
  • spring4.2.4

前提约束

操作步骤

  • 确保spring-mvc.xml中包含以下内容:
<mvc:annotation-driven></mvc:annotation-driven>
<!--    处理静态资源:html js css font img-->
<mvc:default-servlet-handler></mvc:default-servlet-handler>
<!--    视图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/page/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>
  • ModelAndView
    @RequestMapping(value = "/test1")
    public ModelAndView test1()
    {
        ModelAndView modelAndView = new ModelAndView("success");
        modelAndView.addObject("name","ali");
        Map map = new HashMap();
        map.put("age",12);
        modelAndView.addAllObjects(map);
        return modelAndView;
    }

在WEB-INF/page/下加入一个success.jsp,内容如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
${name}
<%=request.getAttribute("age")%>
</body>
</html>

在浏览器中访问 http://localhost:8080/test1,会看到后台java代码中设置的数据显示到页面。

  • Map
    @RequestMapping(value = "/test2")
    public String test2(Map map)
    {
        map.put("name","ali");
        return "success1";
    }

在WEB-INF/page/下加入一个success1.jsp,内容如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
${name}
</body>
</html>

在浏览器中访问 http://localhost:8080/test2,会看到后台java代码中设置的数据显示到页面。

  • MapModel & Model
    @RequestMapping(value = "/test3")
    public String test2(Model model, ModelMap modelMap)
    {
        model.addAttribute("name","ali");
        modelMap.addAttribute("age",12);
        return "success2";
    }

在WEB-INF/page/下加入一个success2.jsp,内容如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
${name}
${age}
</body>
</html>

在浏览器中访问 http://localhost:8080/test3,会看到后台java代码中设置的数据显示到页面。

  • ModelAttribute
    @ModelAttribute
    public void initMap(Map map)
    {
        map.put("name","ali");
    }
    @RequestMapping(value = "/test4")
    public String test2(Map map)
    {
        map.put("age",12);
        return "success3";
    }

在WEB-INF/page/下加入一个success3.jsp,内容如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
${name}
${age}
</body>
</html>

在浏览器中访问 http://localhost:8080/test3,会看到后台java代码中设置的数据显示到页面。

  • SessionAttributes
@SessionAttributes("USER")
public class SessionAttributesController{
    @RequestMapping(value = "/test4")
    public String test4(Map map)
    {
        map.put("USER","user");
        map.put("age",12);
        return "success4";
    }
}

在WEB-INF/page/下加入一个success4.jsp,内容如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
{sessionScope.USER}
${age}
</body>
</html>

在浏览器中访问 http://localhost:8080/test4,会看到后台java代码中设置的数据显示到页面。

扫描二维码关注公众号,回复: 10097536 查看本文章
  • ResponseBody
    这个注解意味着任何响应数据都会越过视图解析器,直接写回到页面。
  • HttpServletRequest & HttpServletResponse
    这两个就是servlet当中返回数据到页面的方式,下一个小节我们将详述。

以上就是springmvc当中数据响应到前端页面的几种常用方式。

猜你喜欢

转载自www.cnblogs.com/alichengxuyuan/p/12554585.html