qq_16240313
放荡不羁笑点高
2017-04-10 03:39
采纳率: 100%
浏览 8.0k
已采纳

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条回答 默认 最新

  • gaoxr170327
    gaoxr170327 2017-04-10 03:51
    已采纳

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

    点赞 5 评论
  • Huiger1234
    Huiger1234 2017-04-10 03:44

    可以试试ajax的回掉函数

    点赞 1 评论
  • qq_35091357
    哈哈哈哈士奇 2017-04-10 03:53

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

    1. setAttribute(json) js是无法获取到转发中的数据 建议使用EL表达式
    点赞 1 评论
  • fk5431
    fk543 2017-04-10 05:35

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

    点赞 1 评论
  • postnull
    postnull 2017-04-10 03:51
    1. html发送ajax请求,用@ResponseBody标注Controller方法,直接return对象或json给html;
    2. setAttribute(json)是放到request对象中,html是取不到request对象的。
    点赞 1 评论
  • qq_28561921
    IT病毒 2017-04-10 03:52

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

    点赞 评论
  • hunanhlm
    myCodeStyle 2017-04-10 04:28

    freemwork, avalog都可以

    点赞 评论
  • Royal_lr
    Royal_lr 2017-04-10 04:40

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

    点赞 评论
  • qq_29753285
    奔奔尚 2017-04-10 05:31

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

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

    点赞 评论

相关推荐