1. 程式人生 > >Spring Boot入門(6)前端接受後臺傳參

Spring Boot入門(6)前端接受後臺傳參

基礎知識

  利用Spring Boot來製作Web應用,就必定會涉及到前端與後臺之間互相傳遞引數。在Spring Boot的MVC模型中,如果採用Thymeleaf來渲染檢視,則前端頁面怎麼才能獲得後臺執行傳遞的引數呢?
  我們介紹兩種在Thymeleaf中前端接受後臺傳參的方法:

  • Thymeleaf自帶的方法
  • Thymeleaf提供的JavaScript接受後臺引數方法

在Thymeleaf中,使用th:text=”${var}”或者th:text=”#{var}”可接受後臺引數。如果使用Thymeleaf提供的JavaScript接受後臺引數方法, 則需在script標籤中加入th:inline=”javascript”, 同時使用變數時應為 [[$

var]]。 採用JavaScript可以接受的後臺引數型別有:

  • Strings
  • Numbers
  • Booleans
  • Arrays
  • Collections
  • Maps
  • Beans (Java物件實現getter和setter方法)

一個例子

  以上為理論知識介紹部分,讀者看了可能不一定會具體使用。因此,一個簡單的例子是必須的。在這個例子中,後臺使用Map方法向前端傳遞String和Bean。專案的完整結構如下圖:


專案的完整結構

  我們只需建立紅線框內的三個檔案。首先是Bean檔案,即User類, 程式碼如下:
package com.hello.paramDemo.Controller;

public
class User { private int age; private String name; User(int age, String name){ this.age = age; this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return
name; } public void setName(String name) { this.name = name; } }

接著是Controller檔案,EgController.java的程式碼如下:

package com.hello.paramDemo.Controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import java.util.Map;

@Controller
public class EgController {

    @RequestMapping(value="/params", method = RequestMethod.GET)
    /* 後臺用Map方法向前端傳遞引數
     * 傳遞的引數為message1: String, message2: String, user: User物件
     */
    public String passParam(Map <String, Object> map){

        map.put("message1", "Hello, Spring Boot!");

        map.put("message2", "Hello, Spring Boot!");

        User user = new User(18, "Bruce");

        map.put("user", user);

        return "result";

    }
}

最後是檢視result.html,其程式碼如下:

<!DOCTYPE HTML>

<html xmlns:th="http://www.thymeleaf.org">

<head>
    <title>Passing Paraments</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <script th:inline="javascript">
        function ShowMessage(){
            document.getElementById("message2").innerHTML = "Thymeleaf String by JS: " + [[${message2}]];
            var user = /*[[${user}]]*/ null ;
            document.getElementById("user").innerHTML = "Thymeleaf Beans by JS: name ->"+ user.name +", age -> "+ user.age.toString();
        }
    </script>
</head>

<body>
        <p th:text="${message1}">test</p>
        <p id="message2"></p>
        <p th:text="'name: ' + ${user.name} +', age: ' + ${user.age}"></p>
        <p id="user"></p>
        <button onclick="ShowMessage()">Show Message From Java</button>
</body>

</html>

在上述Thymtleaf渲染的HTML頁面中,就用到了之前將的兩種辦法來接受後臺傳遞過來的引數。在JavaScript部分,user變數被賦予後臺傳遞的user類的值,就是JavaScript中的物件。

程式執行


Thymeleaf自帶的方法接受後臺引數

這是用Thymeleaf自帶的方法接受後臺引數, 還未顯示JavaScript接受的引數。如想顯示JavaScript接受的引數,可以點選“Show Message From Java”按鈕,頁面如下:

JavaScript接受的後臺引數顯示

  本次分享到此結束,如有問題,可參考Thymeleaf的官方說明文件網址: https://www.thymeleaf.org/doc/tutorials/3.0/thymeleafspring.html . 當然,也歡迎大家交流~~

相關推薦

Spring Boot入門6前端接受後臺

基礎知識   利用Spring Boot來製作Web應用,就必定會涉及到前端與後臺之間互相傳遞引數。在Spring Boot的MVC模型中,如果採用Thymeleaf來渲染檢視,則前端頁面怎麼才能獲得後臺執行傳遞的引數呢?   我們介紹兩種在Thymelea

Spring Boot 入門微服務之 Config Server 統一配置中心

bootstra pan pat 默認 star default client efault localhost 一、目錄結構 二、pom文件 <!-- 配置服務依賴 --> <dependency> &l

Spring Boot入門——使用模板FreeMaker

junit boot.s char pack utf put 常見 節點 簡單的 這周主要學習怎麽在Spring Boot中使用模板引擎FreeMaker,主要從以下幾方面進行學習。 (1) freemarker介紹: FreeMarker是一款模板引擎: 即

Spring boot入門1

概念 Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。 spring boot對spring mvc、tomcat等都做了整合,只需要依

Spring Boot入門起步依賴

Spring Boot起步依賴的功能:開發者只需指定功能,構建過程自動分析使用者需求,引入相關依賴 起步依賴本質上是一個Maven專案物件模型(Project Object Model,POM),定義了對其他庫的傳遞依賴,通過依賴疊加,實現功能支援,因此很多依賴

Spring boot入門:SpringBoot整合結合AdminLTE(Freemarker),利用generate自動生成程式碼,利用DataTable和PageHelper進行分頁顯示

  關於SpringBoot和PageHelper,前篇部落格已經介紹過Spring boot入門(二):Spring boot整合MySql,Mybatis和PageHelper外掛,前篇部落格大致講述了SpringBoot如何整合Mybatis和Pagehelper,但是沒有做出實際的範例,本篇部落格是連

Spring Boot 入門: 自動化配置實現

自動化配置實現 我們在上章編寫入門案例的時候,我們使用的是Spring Mvc 作為我們的表現層框架,但是我們都知道我們要使用Spring Mvc 我們就需要在web.xml檔案中配置Spring Mvc 的前端控制器DispatcherServlet。但是我們

Spring Boot入門2使用MySQL資料庫

介紹   本文將介紹如何在Spring專案中連線、處理MySQL資料庫。   該專案使用Spring Data JPA和Hibernate來連線、處理MySQL資料庫,當然,這僅僅是其中一種方式,你也可以使用Spring JDBC或者MyBatis.   

Spring Boot入門11實現檔案下載功能

  在這篇部落格中,我們將展示如何在Spring Boot中實現檔案的下載功能。   還是遵循筆者寫部落格的一貫風格,簡單又不失詳細,實用又能讓你學會。   本次建立的Spring Boot專案的主要功能為檔案下載,而且這也是唯一功能,當然,作為例子,要儘可

spring boot 入門filter、servlet、listener

spring boot 入門(八)servlet、filter、listener 1. filter spring boot有兩種方式來配置filter 1.1 Servlet 3.0新特性,以註解方式配置Filter,需在啟動類上加入@ServletComponentSc

spring-boot入門atomikos+druid+多資料來源下的分散式事務配置

spring-boot入門(七)atomikos+druid+多資料來源下的分散式事務配置 本章內容是基於spring-boot入門(六)多資料來源的基礎之上進行的,如果還不瞭解多資料來源怎麼配置,請參考上一章節的內容。在上一章節的末尾我們遺留了一個問題:多資料來源下的分散式事務問題

spring-boot入門多資料來源

spring-boot入門(六)多資料來源 我們現在可以通過自定義的資料來源,用spring boot迅速的搭建起一個訪問資料庫的應用,有時候一個系統往往會和多個數據庫進行互動。當然可以通過遠端服務呼叫方式訪問多個數據庫,每個服務負責不同的資料庫訪問,但是多資料來源的方式可能會更加的

spring boot 入門

轉自構建微服務:Spring boot 入門篇 什麼是spring boot Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。用我的話來理解,就是spring

Spring Boot入門12實現頁面訪問量統計功能

  在日常的網站使用中,經常會碰到頁面的訪問量(或者訪問者人數)統計。那麼,在Spring Boot中該如何實現這個功能呢?   我們的想法是比較簡單的,那就是將訪問量儲存在某個地方,要用的時候取出來即可,儲存的位置可選擇資料庫或者其他檔案。本例所使用的例子為

spring boot入門 springboot的攔截器Interceptor。最完整、簡單易懂、詳細的spring boot教程。

很多同學搞不懂攔截器和過濾器的區別,我們先說一下他們的區別: 過濾器和攔截器非常相似,但是它們有很大的區別 最簡單明瞭的區別就是過濾器可以修改request,而攔截器不能 過濾器需要在servlet容器中實現,攔截器可以適用於javaEE,javaSE等各種環境 攔截

spring boot入門 springboot事務管理。最完整、簡單易懂、詳細的spring boot教程。

本文緊接spring boot入門(三)。 事務管理是對於一系列資料庫操作進行管理,一個事務包含一個或多個SQL語句,是邏輯管理的工作單元(原子單元)。通俗的講,事務管理是指的“一次操作”要不就全做,要不就全不做。例如,在一個訂單系統中,包括生成訂單,扣除商品存庫等操作,如

spring-boot入門與資料庫互動

package com.foo.configura; import org.apache.tomcat.jdbc.pool.DataSource; import org.hibernate.SessionFactory; import org.springframework.beans.factory.an

Spring Boot6、Profile

Profile是Spring對不同環境提供不同配置功能的支援,可通過啟用、指定引數等方式快速切換環境。1、多Profile檔案(Properties格式)在主配置檔案編寫的時候,檔名可以是applica

Spring Boot 入門 ——建一個最簡單的springboot專案

建立一個最簡單的springboot專案 廢話不多說直接開整!! 開啟eclipse新建一個maven專案,目錄格式如下: 開啟pom.xml檔案,引入父依賴,web依賴,並設定JDK版本 <project xmlns="http://maven.apache.or

Spring Boot入門返回JSON資料及資料封裝

1.從建立的專案的環境裡可以看到Spring Boot預設載入了Jackson,所以Spring Boot專案預設使用Jackson來返回JSON資料。 Jackson對空屬性統一設定為null,不管該屬性是什麼資料型別,這不利於資料操作,可以對Jackson進行配置 (