视图代码(HTML)
<form method="POST" th:action="@{/orders}" th:object="${order}">
<input type="text" th:field="*{ccCVV}"/>
<input type="submit" value="Submit order"/>
</form>
form为表单标签,其中method表明表单提交时为post请求,action表明目标地址,@{}标签表示上下文地址,th:object表示表单所含信息映射成为的类此示例中,类为order,而下面的th:field属性代表了这个oder类的属性,
<input type="submit" value="Submit order"/>
此行为提交按钮。
通俗总结一下,在点击提交按钮后,form标签内的所有带th:field的内容全部变成类里的字段,打包成一个类这个类就是th:object标记的类,然后把这个类扔到action中的地址去。
后端controller实现
package com.example.demo;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import lombok.extern.slf4j.Slf4j;
import com.example.demo.model.Order;
@Slf4j
@Controller
@RequestMapping("/orders")
public class OrderController {
@PostMapping
public String processOrder(Order order) {
log.info("Order submitted: " + order);
return "redirect:/";
}
}
用@PostMapping来标记接收前端发出的Post请求,收到的类就是刚刚标记的th:object类,在这个方法里你就可以处理前端数据了。
模板类代码
package com.example.demo.model;
import lombok.Data;
@Data
public class Order {
private String ccCVV;
}
对应前台传来的对象。
结束!
本文介绍了在Spring中如何处理表单提交。通过HTML视图代码展示表单结构,使用POST方法提交到后端Controller。Controller通过`@PostMapping`接收并处理数据,模板类将前端信息映射为Java对象进行操作。
656

被折叠的 条评论
为什么被折叠?



