真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

在SpringBoot中使用Controller實(shí)現(xiàn)控制頁面

本篇文章給大家分享的是有關(guān)在Spring Boot中使用Controller實(shí)現(xiàn)控制頁面,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

成都創(chuàng)新互聯(lián)主營松嶺網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶App定制開發(fā),松嶺h5重慶小程序開發(fā)搭建,松嶺網(wǎng)站營銷推廣歡迎松嶺等地區(qū)企業(yè)咨詢

一.項(xiàng)目實(shí)例

1.項(xiàng)目結(jié)構(gòu)

在Spring Boot中使用Controller實(shí)現(xiàn)控制頁面

在Spring Boot中使用Controller實(shí)現(xiàn)控制頁面

2.項(xiàng)目代碼

1).ActionController.Java:

package com.example.controller;
import java.util.Date;
import java.util.Map;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
@RequestMapping("/action")
public class ActionController {
  // 從 application.properties 中讀取配置,如取不到application.properties定義的值,則取默認(rèn)值為Hello Shanhy
  @Value("${application.hello:Hello Shanhy}")
  private String hello;
  /**
   * 默認(rèn)頁
* @RequestMapping("/") 和 @RequestMapping 是有區(qū)別的 * 如果不寫參數(shù),則為全局默認(rèn)頁。 * 如果加了參數(shù)“/”,則只認(rèn)為是根頁面。 */ @RequestMapping(value = {"/","/index"}) public String index(Map model){ // 直接返回字符串,框架默認(rèn)會去 spring.view.prefix 目錄下的 (index拼接spring.view.suffix)頁面 // 本例為 /WEB-INF/jsp/index.jsp model.put("time", new Date()); model.put("message", this.hello); return "index"; } /** * 響應(yīng)到JSP頁面page1 */ @RequestMapping("/page1") public ModelAndView page1(){ // 頁面位置 /WEB-INF/jsp/page/page1.jsp //page/page1:頁面路徑地址/頁面名稱 ModelAndView mav = new ModelAndView("page/page1"); mav.addObject("content", hello); return mav; } /** * 響應(yīng)到JSP頁面page1(可以直接使用Model封裝內(nèi)容,直接返回頁面字符串) */ @RequestMapping("/page2") public String page2(Model model){ // 頁面位置 /WEB-INF/jsp/page/page1.jsp model.addAttribute("content", hello + "(第二種)"); return "page/page1"; } }

2).application.properties:

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
application.hello=Hello TOM

3).index.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>




Spring Boot Sample


Time: ${time}

Message: ${message}

4).page1.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>




Spring Boot Sample


${content }

: ${message}

5).pom.xml:

<?xml version="1.0" encoding="UTF-8"?>

  4.0.0
  com.example
  Spring-boot-simple
  0.0.1-SNAPSHOT

  war
  Spring-boot-simple
  Demo project for Spring Boot
  
    org.springframework.boot
    spring-boot-starter-parent
    1.5.2.RELEASE
     
  
  
    UTF-8
    UTF-8
    1.8
  
  
    
      org.springframework.boot
      spring-boot-starter-web
    
    
      org.springframework.boot
      spring-boot-starter-test
      test
    
    
      org.apache.tomcat.embed
      tomcat-embed-jasper
      provided
    
    
      javax.servlet
      jstl
    
  
  
    
      
        org.springframework.boot
        spring-boot-maven-plugin
      
    
  

3.運(yùn)行啟動項(xiàng)目

在Spring Boot中使用Controller實(shí)現(xiàn)控制頁面

訪問web地址:http://localhost:8080/action/ ,如下所示:

在Spring Boot中使用Controller實(shí)現(xiàn)控制頁面

二.代碼解析說明

1.關(guān)于在Spring4.x中,@RestController和@Controller的區(qū)別

@RestController注解相當(dāng)于@ResponseBody + @Controller合在一起的作用。所以,以后定義controller的時候,可以直接使用@Controller,如果需要返回json可以直接在方法中添加@ResponseBody即可。

a).如果只是使用@RestController注解Controller,則Controller中的方法無法返回jsp頁面,配置的視圖解析器InternalResourceViewResolver則不起作用,返回的內(nèi)容就是Return 里的內(nèi)容(String/JSON)。

例如:本來應(yīng)該到success.jsp頁面的,則其顯示success.

public String test(HttpServletRequest request, HttpServletResponse response){
   return "success";
}

b).如果使用@RestController注解Controller,需要返回到指定頁面,則需要配置視圖解析器InternalResourceViewResolver,可以利用ModelAndView返回試圖。

@RequestMapping(value = "/test")
public String test(HttpServletRequest request, HttpServletResponse response){
   return newModelAndView("success");
}
c).如果使用@Controller注解Controller,如果需要返回JSON,XML或自定義mediaType內(nèi)容到頁面,則需要在對應(yīng)的方法上加上@ResponseBody注解。
@ResponseBody
@RequestMapping(value = "/test")
public String test(HttpServletRequest request, HttpServletResponse response){
   return "success";
}

2.spring-boot 支持多種模版引擎包括:

a,F(xiàn)reeMarker
b,Groovy
c,Thymeleaf (Spring 官網(wǎng)使用這個)
d,Velocity
e,JSP (貌似Spring Boot官方不推薦,STS創(chuàng)建的項(xiàng)目會在src/main/resources 下有個templates 目錄,這里就是讓我們放模版文件的,然后并沒有生成諸如 SpringMVC 中的webapp目錄)

以上就是在Spring Boot中使用Controller實(shí)現(xiàn)控制頁面,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


新聞標(biāo)題:在SpringBoot中使用Controller實(shí)現(xiàn)控制頁面
網(wǎng)頁路徑:http://weahome.cn/article/pjccgd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部