当我的控制器类没有返回modelandview对象时,internalresourceviewresolver如何工作?它如何映射到视图?
这是控制器类的代码片段:
@RequestMapping(value = "/abc", method = RequestMethod.GET)
public @ResponseBody
List<Map<String, Object>> getabc()
{
return jdbcDa.abc();
}
以下是调度程序servlet的代码片段:
<!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory -->
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>
答案 0 :(得分:1)
此处不涉及内部视图解析程序,您已使用@ResponseBody
进行了注释,并且该方法未返回字符串/视图名称。
返回的数据不会映射到视图。它将转换为json或xml,具体取决于原始请求的内容类型。
使用javascript异步调用使用@ResponseBody
注释的方法,然后在Web应用程序中将返回的数据添加到dom的特定部分。
答案 1 :(得分:0)
您的方法由@ResponseBody
注释,因此该方法会将List<Map<String, Object>>
转换为JSON,并且不会映射到视图。
如果要映射日期以查看,则可以从此界面@RequestMapping(value = "/abc", method = RequestMethod.GET)
使用AJAX请求日期,并使用Javascript在视图上显示日期。就像这个片段:
$.getJSON('/abc', function (date) {
var s = "";
$.each(date, function (i, obj) {
//use javascript to add date to variable s
});
//add s to view element
$("#tag-list").append(s);
});