SpringMVC中处理器的返回值

SpringMVC中处理器的返回值
1.ModelAndView 之前的博客中有相关内容(既可以传参又可以进行视图跳转)
2.String(返回的是视图资源,也可以进行传参)

	@Controller
	public class LoginController{
	    @RequestMapping("/login.do")
	    //返回类型:String适合视图跳转 ,同时也可以传数据(Model   Map   ModelMap)
	    public String login(String username, String password, int age, Model model, Map<String,Object> map, ModelMap modelMap){
	        model.addAttribute("username",username);
	        map.put("password",password);
	        modelMap.addAttribute("age",age);
	        return "/WEB-INF/success.jsp";
	    }
	}

3.void

		//后端控制器
		@Controller
		public class LoginController{
		    @RequestMapping("/login.do")
		    //返回类型:void 适合后台给前台显示json字符串
		    public void login(HttpServletResponse response){
		        String json="{'username':'xiaobai','password':'213'}";
		        try {
		            response.getWriter().print(json);
		        } catch (IOException e) {
		            e.printStackTrace();
		        }
		    }
		}

jsp页面

		<%@ page contentType="text/html;charset=UTF-8" language="java" %>
		<html>
		  <head>
		    <title>首页</title>
		    <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
		    <script type="text/javascript">
		      $(function(){
		          $.ajax({
		              url:"${pageContext.request.contextPath}/login.do",
		              success:function (data) {
		                  var data1=eval("("+data+")");
		                  alert(data1.username)
		              }
		          })
		      })
		    </script>
		  </head>
		  <body>
		  <form action="${pageContext.request.contextPath}/login.do" method="post">
		    用户名:<input type="text" name="username">
		    密&nbsp;码:<input type="text" name="password">
		    年龄:<input type="text" name="age">
		    <input type="submit" value="登录">
		  </form>
		  </body>
		</html>

4.Object
返回值是Object时,返回可以是任意的,下面列举String 、集合,
produces:解决响应体中的中文乱码问题
@RequestMapping(value="",produces=“text/html;charset=utf-8”)
@ResponseBody 表示将该方法的返回值转成json字符串然后放到响应体中

	 //返回值是object(String)
	       //produces:解决相应体中的中文乱码问题
	       @RequestMapping(value="/register.do",produces="text/html;charset=utf-8")
	       //该注解表示:将该方法的返回值转成json字符串然后放到响应体中
	       @ResponseBody
	       public Object register(){
	               return "china:瓷器";
	       }

返回map

	@RequestMapping("/register.do")
	       //该注解表示:将该方法的返回值转成json字符串然后放到响应体中
	       @ResponseBody
	       public Object register(){
	               HashMap<Object, Object> map = new HashMap<>();
	               Star star1 = new Star("小纯子", 26);
	               Star star2 = new Star("小魔怔", 27);
	               map.put("star1", star1);
	               map.put("star2", star2);
	               return map;
	       }

返回集合

	//返回list
	       @RequestMapping("/register.do")
	       //该注解表示:将该方法的返回值转成json字符串然后放到响应体中
	       @ResponseBody
	       public Object register(){
	               List<Star> list = new ArrayList<>();
	               Star star1 = new Star("小纯子", 26);
	               Star star2 = new Star("小魔怔", 27);
	               
	               list.add(star1);
	               list.add(star2);
	               return list;
	       }

jsp页面

	<script type="text/javascript">
	       $(function(){
	               $("button").click(function(){
	                       $.ajax({
	                               url:"${pageContext.request.contextPath}/test/register.do",
	                               success:function(data){
	                                       $.each(data,function(index){
	                                               alert(data[index].name+":"+data[index].age);
	                                       })
	                                       /*
	                                       for(var i = 0; i<data.length;i++){
	                                               alert(data[i].name+":"+data[i].age);
	                                       }
	                                        */
	                               }
	                       })
	               });
	       });
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值