在 MVC 架構(如 Struts 2 / Spring MVC)中,用戶點擊「重置」按鈕時,需要將當前頁面的所有表單字段、查詢條件、分頁狀態等完全恢復至初次加載時的初始狀態。
最簡潔、徹底的做法是不在前端手動清空表單,而是讓重置按鈕發起一次GET 請求跳轉到對應的初始化 Action/Controller 方法。
<!-- JSP/Thymeleaf 示例 -->
<a href="${pageContext.request.contextPath}/user/list" class="btn btn-secondary">重置</a>
<!-- 或 -->
<button onclick="location.href='${ctx}/user/list'">重置</button>
@GetMapping("/user/list")
public String list(Model model) {
// 1. 清空 Session/Flash 中可能殘留的查詢條件
// 2. 重新查詢默認數據(第一頁、無過濾)
model.addAttribute("users", userService.findAll(PageRequest.of(0, 10)));
// 3. 返回同一視圖模板
return "user/list";
}
Object.assign(form, initialSnapshot) 並手動觸發驗證/渲染更新。總之,「跳轉到初始 Action」是服務端 MVC 中最標準、最省心的重置實現。