如何将对象从控制器发送到视图Spring MVC

时间:2019-03-07 08:58:48

标签: java spring

我想将控制器的结果发送到视图 结果为json格式 我应该在控制器中添加些什么,以便将对象发送到视图中

  while (rs.next()) {
            Long issuenum = rs.getLong("issuenum");
            String assignee = rs.getString("assignee");
            String summary = rs.getString("summary");
            Date created = rs.getDate("created");
            Date resolutiondate = rs.getDate("resolutiondate");
            ResolvedTickets RS = new ResolvedTickets(rs.getLong("issuenum"), rs.getString("assignee"), rs.getString("summary"), rs.getDate("created"), rs.getDate("resolutiondate"));
            res.add(RS);
        }

        st.close();


        return res;
    }

2 个答案:

答案 0 :(得分:0)

ModelAndView是同时包含模型和视图的对象。处理程序返回ModelAndView对象,DispatcherServlet使用View解析器和View解析视图。

View是一个对象,其中包含String形式的视图名称,而model是一个用于添加多个对象的映射。

在下面的示例中,“ employeeDetails”是视图名称。

ModelAndView model = new ModelAndView("employeeDetails");
model.addObject("employeeObj", new EmployeeBean(123));
model.addObject("msg", "Employee information.");
return model;

答案 1 :(得分:0)

有很多方法可以访问视图中的对象:

1)ModelAndView    在这里,您可以直接添加modelAndView.addObject(“ objectName”,Object);    您可以通过以下方式在页面上进行访问
   $ {objectName}

与模型相同

2)如果要使用json格式的对象,则必须将对象转换为json    首先通过在spring-mvc中使用ObjectMapper,然后可以捕获该json    视图页面中的字符串,作为方法1完成。

示例:

ObjectMapper jsonMapper = new ObjectMapper();
String json = jsonMapper.toJson(yourObject);
mav.addObject("json",json);
And on view page you can acces it inside javascript :

<script>
var jsonString = ${json};
/* Here you can play with json now */
</script>