Springmvc_表单提交数据

1. 前端提交到后台的中文数据可能会出现乱码,需要在web.xml文件中配置防止乱码的过滤器。
**<!--字符编码过滤器-->
<filter>
    <filter-name>characterEncodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

    <!--指定字符编码-->
    <init-param>
        <param-name>encoding</param-name>
        <param-value>utf-8</param-value>
    </init-param>

    <!--强制指定字符编码,即如果在request中指定了字符编码,那么也会为其强制指定当前设置的字符编码-->
    <init-param>
        <param-name>forceEncoding</param-name>
        <param-value>true</param-value>
    </init-param>

</filter>
<filter-mapping>
    <filter-name>characterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>**
2. 创建前台表单
<form method="post" action="/login">
    用户:<input type="text " name="username" /><br>
    密码:<input type="password" name="password" /><br>
    <input type="submit" value="登录">
</form>
3. 创建后台接收数据的Controller
@Controller
public class ParamController {
    
    @RequestMapping("/login")
    public String param(String username , String password, Model model){
        model.addAttribute("username",username);
        model.addAttribute("password",password);
        return "ok";
    }
    
    //如果请求的参数和形参不一致的,使用@RequestParam注解
   /* @RequestMapping("/login")
    public String param2(@RequestParam(name = "username") String name , String password,Model model){
        model.addAttribute("username",name);
        model.addAttribute("password",password);
        return "ok";
    }*/
   
   //使用对象接收参数
   /*@RequestMapping("/login")
   public String param(User user ,Model model) {
       model.addAttribute("username", user.getUsername());
       model.addAttribute("password", user.getPassword());
       return "ok";
   }*/
}

4. 创建跳转到前端的“ok.jsp”
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
用户:${username}<br>
密码:${password}
</body>
</html>

效果:
在这里插入图片描述

5. 获取请求路径中的参数
@Controller
public class PathController {
    @RequestMapping("{username}/{password}/params")
    public String getParams(@PathVariable("username") String username,
                            @PathVariable("password") String  password,
                            Model model) {
        model.addAttribute("username",username);
        model.addAttribute("password",password);
        return "ok";
    }
}

在浏览器地址栏中输入 localhost/张三/123/params 可获取 4 中一样的效果

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值