springmvc中可以不用jsp吗

1.能不能直接让controller返回数据给html而不经过jsp这一层哪?
需要的数据直接让response.getWriter().write(json)写出去,用html页面中的js来接受处理数据,需要展示的页面通过controller的返回值return "target.html"来实现。
,然后在springmvc的配置项里面也不去配置后缀为jsp了。
2.还有一个问题就是如果用了setAttribute(json)的话,是不是就必须用到jsp了?因为我觉得它是java对象如果没有jsp解析的话,html中的js是没法解析的。

9个回答

前端用Ajax发送请求,服务器端处理后的数据让spring帮你打包成json格式发回给前端,再用回调函数处理即可. 动态展示就用ajax局部更新html就好,不用jsp来生成一个新页面

可以试试ajax的回掉函数

1.html 和jsp 都是MVC 中的view 层, 如果你是直接访问这个控制层就把数据保存在request中,然后页面使用El表达式获取, 如果是ajax方式访问, 建议在
方法上加上@ResponseBody 然后return 数据对象;

  1. setAttribute(json) js是无法获取到转发中的数据 建议使用EL表达式
  1. html发送ajax请求,用@ResponseBody标注Controller方法,直接return对象或json给html;
  2. setAttribute(json)是放到request对象中,html是取不到request对象的。

如果不想用jsp可以试试Thymelaf模板引擎,通过后端渲染,HTML页面可以直接显示,但是有严格的闭合标签要求

freemwork, avalog都可以

推荐使用spring的RestController
将原来的@Controller换成 @RestController,
在ruturn的时候直接返回一个对象,会自动帮你转换成json格式的数据,

可以参考SSM实现RESTful Webservice
一个翻译的中文版

@ResponseBody 标注,然后返回json串,用js解析

还是用一个模板方便点,,html展示数据都很麻烦

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问