您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
小编给大家分享一下Spring Boot与Kotlin如何处理Web表单提交,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
build.gradle 文件没有变化,这里贴一下完整的build.gradle
group 'name.quanke.kotlin' version '1.0-SNAPSHOT' buildscript { ext.kotlin_version = '1.2.10' ext.spring_boot_version = '1.5.4.RELEASE' repositories { mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath("org.springframework.boot:spring-boot-gradle-plugin:$spring_boot_version") // Kotlin整合SpringBoot的默认无参构造函数,默认把所有的类设置open类插件 classpath("org.jetbrains.kotlin:kotlin-noarg:$kotlin_version") classpath("org.jetbrains.kotlin:kotlin-allopen:$kotlin_version") } } apply plugin: 'kotlin' apply plugin: "kotlin-spring" // See https://kotlinlang.org/docs/reference/compiler-plugins.html#kotlin-spring-compiler-plugin apply plugin: 'org.springframework.boot' jar { baseName = 'chapter11-5-4-service' version = '0.1.0' } repositories { mavenCentral() } dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version" compile "org.springframework.boot:spring-boot-starter-web:$spring_boot_version" compile "org.springframework.boot:spring-boot-starter-thymeleaf:$spring_boot_version" // compile "com.fasterxml.jackson.module:jackson-module-kotlin:$kotlin_version" testCompile "org.springframework.boot:spring-boot-starter-test:$spring_boot_version" testCompile "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version" } compileKotlin { kotlinOptions.jvmTarget = "1.8" } compileTestKotlin { kotlinOptions.jvmTarget = "1.8" }
创建实体类Hello
/** * Created by http://quanke.name on 2018/1/12. */ data class Hello(var id: Long? = 0, var content: String? = "")
创建Controller
import name.quanke.kotlin.chaper11_5_4.entity.Hello import org.springframework.stereotype.Controller import org.springframework.ui.ModelMap import org.springframework.web.bind.annotation.ModelAttribute import org.springframework.web.bind.annotation.PostMapping import org.springframework.web.bind.annotation.RequestMapping /** * Created by http://quanke.name on 2018/1/10. */ @Controller class HelloController { @RequestMapping("/") fun index(map: ModelMap): String { // / 加入一个属性,用来在模板中读取 map.addAttribute("host", "http://quanke.name") map.addAttribute("hello",Hello()) // return模板文件的名称,对应src/main/resources/templates/index.html return "index" } @PostMapping("/hello") fun helloPostSubmit(@ModelAttribute hello: Hello): String { return "result" } }
页面展示层
src/main/resources/templates/index.html
<!DOCTYPE html> <html xmlns:th="http://www.w3.org/1999/xhtml"> <head lang="en"> <title>quanke.name</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> </head> <body> <h2 th:text="${host}">Hello World</h2> <h2>Form</h2> <form action="#" th:action="@{/hello}" th:object="${hello}" method="post"> <p>Id: <input type="text" th:field="*{id}"/></p> <p>Message: <input type="text" th:field="*{content}"/></p> <p><input type="submit" value="Submit"/> <input type="reset" value="Reset"/></p> </form> </body> </html>
src/main/resources/templates/result.html
<!DOCTYPE html> <html lang="en" xmlns:th="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <title>Title</title> </head> <body> <h2>Result</h2> <p th:text="'id: ' + ${hello.id}"/> <p th:text="'content: ' + ${hello.content}"/> <a href="/" rel="external nofollow" >Submit another message</a> </body> </html>
Spring Boot 启动
import org.springframework.boot.SpringApplication import org.springframework.boot.autoconfigure.SpringBootApplication /** * Created by http://quanke.name on 2018/1/9. */ @SpringBootApplication class Application fun main(args: Array<String>) { SpringApplication.run(Application::class.java, *args) }
启动工程,访问ttp://localhost:8080/:
以上是“Spring Boot与Kotlin如何处理Web表单提交”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。