前言:简单使用表单标签库
在 JSP 页面使用 Spring 表单标签库时,必须在 JSP 页面开头处声明 taglib 指令:
<%@ taglib prefix=“fm” uri=“http://www.springframework.org/tags/form” %>
| 名称 | 作用 |
|---|---|
| form | 渲染表单元素 |
| input | 渲染 元素 |
| password | 渲染 元素 |
| hidden | 渲染 元素 |
| textarea | 渲染 textarea 元素 |
| checkbox | 渲染一个 元素 |
| checkboxes | 渲染多个 元素 |
| radiobutton | 渲染一个 元素 |
| radiobuttons | 渲染多个 元素 |
| select | 渲染一个选择元素 |
| option | 渲染一个选项元素 |
| options | 渲染多个选项元素 |
| errors | 在span 元素中渲染字段错误 |
表结构:
register.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
My JSP 'register.jsp' starting page
main.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="fm" uri="http://www.springframework.org/tags/form" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
My JSP 'main.jsp' starting page
姓名:
编号:
年龄:
实体类User.java:
package model;
public class User {
private String name;
private int age;
private String number;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
}
HelloController:
package controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import model.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.SessionAttributes;
import org.springframework.web.servlet.ModelAndView;
@Controller
@RequestMapping(value="/hello")
public class HelloController {
//形参方式
@RequestMapping(value="/register",method=RequestMethod.POST)
public String register( String username, String pwd, String age,Model m){
if(username.equals("1931030119")){
//1创建一个对象:绑定数据用
User user = new User();
//2设置用户名
user.setName("lisi");
//3设置年龄
user.setAge(18);
//4设置编号
user.setNumber("A001");
//5设置command属性值,返回给结果页面
m.addAttribute("user", user);
//6返回结果页面
return "main";
}else{
return "index";
}
}
}



