SpringMVC添加表单

result方法:参数里提供name和age

package SpringmvcDemo;

import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Repository;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
@RequestMapping("/hello")//用在类上的RequestMapping,表示主路径,该类下的所有方法的路径都默认从"/hello"开始
public class HelloWorld {
    @RequestMapping("/world")//用在方法上的RequestMapping
    public String hello(Model model){//Model是将方法里获取的内容传输给.jsp文件
        model.addAttribute("message","helloworld!!");
        return"hi";//hi/WEB-INF下的.jsp文件
    }
    @RequestMapping("/world/sss")
    public String sss(Model model){
        model.addAttribute("message2","justtest");
        return"hiss";
    }

    @RequestMapping(value = "/world/{name}/{age}",method = RequestMethod.GET)
    public String getName(ModelMap modelMap, @PathVariable("name") String name, @PathVariable("age") int age){
        modelMap.put("name",name);
        modelMap.put("age",age);
        return "name";
    }

    @RequestMapping(value = "/result", method = RequestMethod.GET)
    public String result(ModelMap modelMap,@RequestParam String name, @RequestParam int age){
        modelMap.addAttribute("name",name);
        modelMap.addAttribute("age",age);
        return "result";
    }

对应的.jsp文件

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    springmvcdemo


<%--${}是个获取变量的符号,“message”对应的是HelloWorld里hello方法里的变量名,
其值为“helloworld!!”,下面的话就是能输出到网页的--%>

名字:${name}

年龄:${age}

浏览器请求方式和结果
路径后面加问号,问号后面使用键值对,多个键值对用&连接

image.png

添加表单

增加addUser方法

package SpringmvcDemo;

import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Repository;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
@RequestMapping("/hello")//用在类上的RequestMapping,表示主路径,该类下的所有方法的路径都默认从"/hello"开始
public class HelloWorld {
    @RequestMapping("/world")//用在方法上的RequestMapping
    public String hello(Model model){//Model是将方法里获取的内容传输给.jsp文件
        model.addAttribute("message","helloworld!!");
        return"hi";//hi/WEB-INF下的.jsp文件
    }
    @RequestMapping("/world/sss")
    public String sss(Model model){
        model.addAttribute("message2","justtest");
        return"hiss";
    }

    @RequestMapping(value = "/world/{name}/{age}",method = RequestMethod.GET)
    public String getName(ModelMap modelMap, @PathVariable("name") String name, @PathVariable("age") int age){
        modelMap.put("name",name);
        modelMap.put("age",age);
        return "name";
    }

    @RequestMapping(value = "/result", method = RequestMethod.GET)
    public String result(ModelMap modelMap,@RequestParam String name, @RequestParam int age){
        modelMap.addAttribute("name",name);
        modelMap.addAttribute("age",age);
        return "result";
    }

    @RequestMapping(value = "/adduser",method = RequestMethod.GET)
    public String addUser(ModelMap modelMap){
        return "add_user";
    }
}

对应.jsp文件

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    添加用户


<%--action="result"表示使用result方法,method=“get”表示,需要与result方法里使用的请求方式一致--%>
名字:
年龄:

结果

image.png

image.png

通过SpringMVC提供的表单设置默认值

新增一个User类

package SpringmvcDemo;

public class User {
    private String name;
    private int age;

    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;
    }
}

HelloWorld类里增加两个方法,requestpost方法和addUser2方法

package SpringmvcDemo;

import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Repository;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
@RequestMapping("/hello")//用在类上的RequestMapping,表示主路径,该类下的所有方法的路径都默认从"/hello"开始
public class HelloWorld {
    @RequestMapping("/world")//用在方法上的RequestMapping
    public String hello(Model model){//Model是将方法里获取的内容传输给.jsp文件
        model.addAttribute("message","helloworld!!");
        return"hi";//hi/WEB-INF下的.jsp文件
    }
    @RequestMapping("/world/sss")
    public String sss(Model model){
        model.addAttribute("message2","justtest");
        return"hiss";
    }

    @RequestMapping(value = "/world/{name}/{age}",method = RequestMethod.GET)
    public String getName(ModelMap modelMap, @PathVariable("name") String name, @PathVariable("age") int age){
        modelMap.put("name",name);
        modelMap.put("age",age);
        return "name";
    }

    @RequestMapping(value = "/result", method = RequestMethod.GET)
    public String result(ModelMap modelMap,@RequestParam String name, @RequestParam int age){
        modelMap.addAttribute("name",name);
        modelMap.addAttribute("age",age);
        return "result";
    }

    @RequestMapping(value = "/adduser",method = RequestMethod.GET)
    public String addUser(ModelMap modelMap){
        return "add_user";
    }

    @RequestMapping(value = "/resultpost",method=RequestMethod.POST)
    public String resultpost(ModelMap modelMap,@RequestParam String name,@RequestParam int age){
        modelMap.addAttribute("name",name);
        modelMap.addAttribute("age",age);
        return "resultpost";
    }

    @RequestMapping(value="/addUser2",method = RequestMethod.GET)
    public String addUser2(ModelMap modelMap){
        User u = new User();
        u.setName("hi");
        modelMap.addAttribute("user",u);
        return "adduser_springmvc";
    }
}

对应的.jsp文件

requestpost.jsp

<%--
  Created by IntelliJ IDEA.
  User: 15435
  Date: 2019/1/14
  Time: 11:09
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    通过post传递参数


名字:${name}

年龄:${age}

adduser_springmvc.jsp文件

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%--
  Created by IntelliJ IDEA.
  User: 15435
  Date: 2019/1/14
  Time: 11:02
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    通过springmvc提供的表单功能添加



    名字:
年龄:

结果

image.png

image.png

你可能感兴趣的:(SpringMVC添加表单)