springmvc 怎么实现前后台交互原理
1个回答
2016-03-13 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
服务端数据到客户端
返回页面,Controller中方法返回String,String对应的是view的位置,如果需要携带数据通过model(相当于一个Map)传递到view, view中使用jstl的EL表达式来绑定model带来的数据。 Java代码
@RequestMapping(value="/getPojoView", method=RequestMethod.GET) public String getPojoView(Model model){ Pojo pojo = new Pojo(); pojo.setPojoName("testName"); pojo.setPojoValue("testValue"); model.addAttribute(pojo); return"sample/pojoView"; }
返回Json对象,利用@ResponseBody来实现。
Java代码@RequestMapping(value="/getPojoJson", method=RequestMethod.GET)
public @ResponseBody Pojo getPojoJson(){
Pojo pojo = new Pojo();
pojo.setPojoName("testName");
pojo.setPojoValue("testValue");
return pojo;
}
注:spring mvc自动将java对象转化成了json对象传回了客户端,返回对象可以是
Pojo也可以是List
@RequestMapping(value="/getCustomResponse", method=RequestMethod.GET) public void getCustomResponse(HttpServletResponse response){ //操作response... }
注:response为spring根据方法的type类型注入的 客户端数据到服务端 通过URL传回参数: view Html代码
<script type="text/javascript"src="jquery-1.4.min.js"></script> < h1>button与链接效果一致</h1>
< a href="simple?name=text&age=28">simple</a><button onclick="simple()">simple</button><br/> < script type="text/javascript"> function simple(){
$.getJSON("simple",{"name":"nameJsonTest","age":"100"},function(){});
直接操作Response自己实现想要的效果。
} < /script>
< a href="list?names[]=aaaa&names[]=bbbb">list</a><button onclick="list()">list</button><br/> < script type="text/javascript"> function list(){
$.getJSON("list",{"names":["name1","name2","name3"]},function(){}); } < /script> < a
href="pojo?pojo[pojoName]=hahaha&pojo[pojoValue]=kkkkkk">pojo</a><button onclick="pojo()">pojo</button><br/> < script type="text/javascript"> function pojo(){
$.getJSON("pojo",{"pojo":{"pojoName":"testName","pojoValue":"testValue"}},functio
n(){}); } < /script>
< a href="rest/10/2">rest</a><button onclick="rest()">rest</button><br/>
< script type="text/javascript"> function rest(){ var pageSize = 20; var pageNo = 3;
$.getJSON("rest/"+pageSize+"/"+pageNo,{},function(){}); } < /script> controller Java代码 package sample;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam;
@Controller
@RequestMapping(value="/urlparam") public class UrlParamController {
@RequestMapping(value="/", method=RequestMethod.GET) public String index(){ return"urlparam/index"; }
@RequestMapping(value="/simple", method=RequestMethod.GET)
public void simple(@RequestParam String name, @RequestParam Integer age){ System.out.println("name:"+name); System.out.println("age:"+age); }
//list内不能放POJO对象
@RequestMapping(value="/list", method=RequestMethod.GET) public void list(@RequestParam("names[]") String[] names){
//也可以用List<String> names来接收
返回页面,Controller中方法返回String,String对应的是view的位置,如果需要携带数据通过model(相当于一个Map)传递到view, view中使用jstl的EL表达式来绑定model带来的数据。 Java代码
@RequestMapping(value="/getPojoView", method=RequestMethod.GET) public String getPojoView(Model model){ Pojo pojo = new Pojo(); pojo.setPojoName("testName"); pojo.setPojoValue("testValue"); model.addAttribute(pojo); return"sample/pojoView"; }
返回Json对象,利用@ResponseBody来实现。
Java代码@RequestMapping(value="/getPojoJson", method=RequestMethod.GET)
public @ResponseBody Pojo getPojoJson(){
Pojo pojo = new Pojo();
pojo.setPojoName("testName");
pojo.setPojoValue("testValue");
return pojo;
}
注:spring mvc自动将java对象转化成了json对象传回了客户端,返回对象可以是
Pojo也可以是List
@RequestMapping(value="/getCustomResponse", method=RequestMethod.GET) public void getCustomResponse(HttpServletResponse response){ //操作response... }
注:response为spring根据方法的type类型注入的 客户端数据到服务端 通过URL传回参数: view Html代码
<script type="text/javascript"src="jquery-1.4.min.js"></script> < h1>button与链接效果一致</h1>
< a href="simple?name=text&age=28">simple</a><button onclick="simple()">simple</button><br/> < script type="text/javascript"> function simple(){
$.getJSON("simple",{"name":"nameJsonTest","age":"100"},function(){});
直接操作Response自己实现想要的效果。
} < /script>
< a href="list?names[]=aaaa&names[]=bbbb">list</a><button onclick="list()">list</button><br/> < script type="text/javascript"> function list(){
$.getJSON("list",{"names":["name1","name2","name3"]},function(){}); } < /script> < a
href="pojo?pojo[pojoName]=hahaha&pojo[pojoValue]=kkkkkk">pojo</a><button onclick="pojo()">pojo</button><br/> < script type="text/javascript"> function pojo(){
$.getJSON("pojo",{"pojo":{"pojoName":"testName","pojoValue":"testValue"}},functio
n(){}); } < /script>
< a href="rest/10/2">rest</a><button onclick="rest()">rest</button><br/>
< script type="text/javascript"> function rest(){ var pageSize = 20; var pageNo = 3;
$.getJSON("rest/"+pageSize+"/"+pageNo,{},function(){}); } < /script> controller Java代码 package sample;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam;
@Controller
@RequestMapping(value="/urlparam") public class UrlParamController {
@RequestMapping(value="/", method=RequestMethod.GET) public String index(){ return"urlparam/index"; }
@RequestMapping(value="/simple", method=RequestMethod.GET)
public void simple(@RequestParam String name, @RequestParam Integer age){ System.out.println("name:"+name); System.out.println("age:"+age); }
//list内不能放POJO对象
@RequestMapping(value="/list", method=RequestMethod.GET) public void list(@RequestParam("names[]") String[] names){
//也可以用List<String> names来接收
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询