新建JSONView类
/**
* $Id: JSONView.java,v 1.1 2012/10/23 06:21:10 wei.xu Exp $
*/
package com.moyoyo.app.webngtrade.common.web;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONObject;
import org.springframework.web.servlet.View;
import com.moyoyo.app.webngtrade.common.util.MiscUtil;
import com.yupstudio.common.type.MimeType;
/**
* jsonview处理类
* @author wei.xu@downjoy.com
*/
public class JSONView implements View {
public String getContentType() {
return "text/html;charset=UTF-8";
}
/**
* Spring interface to render the XML view
* @param model Map of values with the data to render
* @param request HTTP request
* @param response HTTP response
* @throws java.lang.Exception
*/
@SuppressWarnings("unchecked")
public void render(Map model, HttpServletRequest request, HttpServletResponse response) throws Exception {
JSONObject object=JSONObject.fromObject(model);
MiscUtil.writeData(response, object.toString(), MimeType.HTML);
}
}
这里引用了import com.alibaba.fastjson.JSONObject;
需要在pom里引入
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.14</version>
</dependency>
如果不想用alibaba可以引入
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
在spring的配置文件中加入
<!-- 视图解析器 -->
<bean name="JSONView" class="com.sgcai.dui1dui.gamemall.web.base.JsonView"/>
然后在Controller返回JSON
@Controller
@RequestMapping(value = "/index")
public class IndexController {
@Autowired
GoodsBusinessRemoteService goodsBusinessRemoteService;
@RequestMapping(value = "/index", method = RequestMethod.GET)
public ModelAndView index(HttpServletRequest request, HttpServletResponse response) {
Map<String, Object> modelMap = new HashMap<String, Object>();
List<GoodsBTO> list = goodsBusinessRemoteService.listGoodsByGameIdAndStatus("1", GoodsStatus.NORMAL);
modelMap.put("list", list);</span>
return new ModelAndView("JSONView",model);
}
}