栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用基于Spring MVC注释的Portlet控制器通过AJAX呈现JSON视图/响应?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用基于Spring MVC注释的Portlet控制器通过AJAX呈现JSON视图/响应?

我最终找到了一种解决方法,可以从Spring MVC Portlet控制器返回“ JSON”。这是我的方法。

在我的控制器中:

@ResourceMapping("ajaxTest")public void ajaxHandler(ResourceRequest request, ResourceResponse response)        throws IOException {    OutputStream outStream = response.getPortletOutputStream();    StringBuffer buffer = new StringBuffer();    Map<String, String> testMap = new HashMap<String, String>();    testMap.put("foo", "bar");    String test = new JSonObject(testMap).toString();    buffer.append(test);    outStream.write(buffer.toString().getBytes());}

在“ view.jsp”中:

<portlet:resourceURL var="ajaxtest" id="ajaxTest"/><script type="text/javascript">  $.get('<%= ajaxtest %>', function(response) {    var json = eval('(' + response + ')');  });</script>

由于@ResourceMapping批注当前不支持返回JSON,因此我仅使用org.json.JSONObject将地图转换为JSON对象,然后返回此对象的toString()。@ResourceMapping的值应与resourceURL的ID匹配。使用eval将JSON字符串转换为Javascript会带来安全风险,但我只是将其包含在内,因为这是最简单的示例。如果您担心安全性,请使用JSON解析器。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/615811.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号