文章来自:SpringMVC返回值的几种方式
*
* This file is a spring controller return tester,so please do not delete this file
* created by xiaohelong 20140904
* email:xiaohelong2005@gmail.com
*/
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import com.google.gson.JsonObject;
/**
* this class just for example ,please read spring reference in detail.
*
* just for controller use case demo by xiaohelong
*/
import dwz.business.info.News;
import dwz.business.info.NewsType;
import dwz.persistence.BaseConditionVO;
import dwz.web.BaseController;
@Controller
public class OttControlerTest extends BaseController{
static Logger log = Logger.getLogger(
OttControlerTest.class.getName());
/**
*
* @return Bean
*/
@RequestMapping("/Test")
@ResponseBody
public TestBean test (){
log.debug("Test function");
TestBean testBean=new TestBean();
testBean.setName("haha");
return testBean;
}
/**
*
* @return Bean List
*/
@RequestMapping("/TestList")
@ResponseBody
public List<TestBean> testList (){
log.debug("TestList function");
List<TestBean> testBeanList=new ArrayList<TestBean>();
TestBean testBean1=new TestBean();
testBean1.setName("haha");
TestBean testBean2=new TestBean();
testBean2.setName("hehe");
testBeanList.add(testBean1);
testBeanList.add(testBean2);
return testBeanList;
}
/**
*
* @return JSON Data
*/
@RequestMapping("/TestJSONObject")
public void testReturrnJSONWithoutBean(HttpServletRequest request,HttpServletResponse response) throws IOException{
log.debug("TestJSONObject function");
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
PrintWriter writer=response.getWriter();
JsonObject jsonObject=new JsonObject();
jsonObject.addProperty("name","hehe jsonobject");
writer.println(jsonObject.toString());
writer.close();
}
/**
*
* @return String
*/
@RequestMapping("/TestReturnPage")
@ResponseBody
public String testReturrnPage(){
log.debug("TestReturnPage");
return "/testpage";
}
/**
* The difference between model and modelandview is just sematic
* */
/**
* @return JSON ModelAndView
*/
@RequestMapping("/TestReturnModel")
public String testReturnModel(Model model){
log.debug("testReturrnModel");
model.addAttribute("testmodel", "hello model");
return "testpage";
}
/**
* The difference between model and modelandview is just sematic
* */
/**
* @return JSON ModelAndView
*/
@RequestMapping("/TestReturnModelAndView")
public ModelAndView testReturnModelAndView(){
log.debug("testReturrnModel");
ModelAndView mav = new ModelAndView("testpage");
mav.addObject("testmodel", "hello test model");
return mav;
}
}
<pre name="code" class="java">
/**
* 获取系统显示的菜单
*
* @param 无
* @return 返回JSON字符串,这是经过处理后的结构化树形数据。
*/
@RequestMapping(value = "/getShowedMenus", produces = "application/json; charset=utf-8")
@ResponseBody
public String getShowedMenus() {
JsonArray menus=new JsonArray();
try{
menus=platformMenuService.getMenusForShow();
}catch(Exception e)
{
logger.error(e.toString());
e.printStackTrace();
}
return menus.toString();
}
/**
* 从远程数据中心中注销登录
* @param request
* @param response
* @return 返回逻辑值
*/
@RequestMapping("/logout")
@ResponseBody
private boolean logout(HttpServletRequest request,HttpServletResponse response)
{
boolean retVal=false;
try{
}catch(Exception e){
logger.error(e.toString());
}
return retVal;
}
/**
* 本地数据中心登录至远程数据中心。
* @param datacenterId
* @return 返回是否登录成功
*/
@RequestMapping(value="/login",produces = "application/json; charset=utf-8")
@ResponseBody
public Boolean login(String dcId,HttpServletRequest request,HttpServletResponse response) {
logger.info("datacenterId"+dcId);
dcId="12";
Boolean retVal=false;
try{
DatacatalogDatacenter dc=datacenterService.selectByPrimaryKey(dcId);
String url="http://localhost:8080/"+request.getContextPath()+"/rest/datacatalog/datacenter/server/login?&no=121";
String val=HttpUtils.HttpPost(url);
retVal=Boolean.parseBoolean(val);
//retObject=new JSONObject(detail);
}catch(Exception e){
logger.error(e.toString());
e.printStackTrace();
}
return retVal;
}