一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - SpringMvc響應數據及結果視圖實現代碼

SpringMvc響應數據及結果視圖實現代碼

2020-08-12 00:14錵開や落幕 Java教程

這篇文章主要介紹了SpringMvc響應數據及結果視圖實現代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

響應數據和結果視圖

返回值分類

controller 方法返回字符串可以指定邏輯視圖名,通過視圖解析器解析為物理視圖地址。
//指定邏輯視圖名,經過視圖解析器解析為 jsp 物理路徑:/WEB-INF/pages/success.jsp
@RequestMapping("/testReturnString")
public String testReturnString() {
System.out.println("AccountController 的 testReturnString 方法執行了。。。。");
return "success"; }

運行結果:

SpringMvc響應數據及結果視圖實現代碼

@RequestMapping("/testReturnVoid")
public void testReturnVoid(HttpServletRequest request,HttpServletResponse response)
throws Exception {
}在 controller 方法形參上可以定義 request 和 response,使用 request 或 response 指定響應結果:

1、使用 request 轉向頁面,如下:

request.getRequestDispatcher("/WEB-INF/pages/success.jsp").forward(request,
response);

2、也可以通過 response 頁面重定向:

response.sendRedirect("testRetrunString") 3、也可以通過 response 指定響應結果,例如響應 json 數據:
response.setCharacterEncoding("utf-8");
response.setContentType("application/json;charset=utf-8");
response.getWriter().write("json 串");

ModelAndView 是 SpringMVC 為我們提供的一個對象,該對象也可以用作控制器方法的返回值。

該對象中有兩個方法:

SpringMvc響應數據及結果視圖實現代碼

SpringMvc響應數據及結果視圖實現代碼

實例代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//返回值為ModelAndView
  @RequestMapping("/test01")
  public ModelAndView test01(){
    User user = new User();
//    user.setUname("張三");
    user.setAge(12);
 
    ModelAndView mv=new ModelAndView();
    mv.addObject("user",user);
    mv.setViewName("ok");
    return mv;
 
  }
 
 
ok.jsp代碼:
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
  <title>Title</title>
</head>
<body>
  <h1>入門成功</h1>
  ${user.uname}
  ${user.age}
</body>
</html>

forward轉發

?
1
2
3
4
5
6
//forward轉發方式
 @RequestMapping("/test02")
 public String test02(){
   System.out.println("forward");
   return "forward:/WEB-INF/pages/ok.jsp";
 }

需要注意的是,如果用了 formward:則路徑必須寫成實際視圖 url,不能寫邏輯視圖。它相當于“request.getRequestDispatcher("url").forward(request,response)”。使用請求轉發,既可以轉發到 jsp,也可以轉發到其他的控制器方法。

Redirect 重定向

?
1
2
3
4
5
@RequestMapping("/test03")
 public String test03(){
   System.out.println("redirect");
   return "redirect:/index.jsp";
 }

它相當于“response.sendRedirect(url)”。需要注意的是,如果是重定向到 jsp 頁面,則 jsp 頁面不能寫在 WEB-INF 目錄中,否則無法找到。

ResponseBody 響應json 數據

作用:

該注解用于將 Controller 的方法返回的對象,通過 HttpMessageConverter 接口轉換為指定格式的
數據如:json,xml 等,通過 Response 響應給客戶端

需求:

使用@ResponseBody 注解實現將 controller 方法返回對象轉換為 json 響應給客戶端。
前置知識點:

Springmvc 默認用 MappingJacksonHttpMessageConverter 對 json 數據進行轉換,需要加入jackson 的包。

SpringMvc響應數據及結果視圖實現代碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
@RequestMapping("/test04")
  public @ResponseBody User test04(@RequestBody User user){
    System.out.println("運行");
    user.setAge(13);
    user.setUsername("張三");
    user.setPassword("12346845");
    return user;
 
  }
 
Jsp中的代碼:
  <script src="${pageContext.request.contextPath}/js/jquery.min.js"></script>
 
  <script type="text/javascript">
    $(function () {
      $("#open").click(function () {
        $.ajax({
          url:"${pageContext.request.contextPath}/user/test04",
          contentType:"application/json;charset=UTF-8",
          data:'{"username":"hehe","password":"123456","age":12}',
          type:"post",
          dataType:"json",
          success:function (data) {
 
            alert(data);
            alert(data.username);
            alert(data.password);
            alert(data.age);
 
          }
        });
      });
    })

結果:

SpringMvc響應數據及結果視圖實現代碼

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://www.cnblogs.com/zgrey/p/13409303.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲国产在线综合018 | 免费精品一区二区三区在线观看 | 91插插插插 | 四虎永久免费地址在线观看 | 草莓社区 | 18hdxxxx日本护士 | 国产好深好硬好爽我还要视频 | 高清视频在线播放 | 国产一区二区免费福利片 | 91视在线国内在线播放酒店 | 精灵之森高清在线 | 三级aa久久 | 日韩欧美色图 | 亚洲aⅴ天堂 | 精品视频免费在线观看 | 99视频网址 | 日本mv精品中文字幕 | 污网站免费观看在线高清 | 高h文3p双龙| 成人中文字幕在线观看 | 欧洲老太玩小伙 | 欧美一区二区三区四区视频 | 亚洲午夜久久久久国产 | 色里番52kkm全彩 | 男人疯狂擦进女人下面 | 国产精品久久国产精品99 | 亚洲一区二区福利视频 | 日本人成年视频在线观看 | 久久天天躁狠狠躁夜夜躁 | 青春草视频在线免费观看 | 日本最新免费二区 | 插入肥臀| 91国内精品久久久久影院优播 | 精品一区二区三区五区六区七区 | 富士av105| 图片亚洲va欧美va国产综合 | 欧美一区二区不卡视频 | 欧美精品三区 | 欧美a级在线观看 | 日本人成在线视频免费播放 | 精品免费国产一区二区三区 |