概述
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">
密 码:<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);
}
*/
}
})
});
});
最后
以上就是不安唇膏为你收集整理的SpringMVC中处理器的返回值的全部内容,希望文章能够帮你解决SpringMVC中处理器的返回值所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复