• Spring mvc之提交表单


    表单内容:

    <body>
        <form action="user/login">
            <table>
                <tr>
                    <td>用户名:</td>
                    <td><input type="text" name="userName" />
                    </td>
                    <td>密码:</td>
                    <td><input type="password" name="passWord" />
                    </td>
                </tr>
                <tr>
                    <td colspan="2"><input type="submit" value="login" name="login" /></td>
                </tr>
     
            </table>
     
        </form>
    </body>

    from标签如果没有定义method类型,默认是get, 今天配置mvc出现的问题是在jsp页面传过去的参数,获取它的值时如果是中文会出现乱码,也定义了字符集过滤器,后来才找出这个问题,原来是get请求导致的。

    过滤器可以自己写也可以直接使用现有的如:org.springframework.web.filter.CharacterEncodingFilter ,然后再web.xml中添加以下代码:

    <!-- filter 字符串过滤器 -->
    <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>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>

    Controller中的代码:

    @RequestMapping("/login")
        public String login(@ModelAttribute("user") TUser user) {
             
            try {
                TUser temp = userServer.login(user.getUserName, user.getPassWord());
                if (temp != null)
                    return "success";
            } catch (Exception ex) {
                    ex.printStackTrace();
            }
     
            return "error";
        }

    ModelAttribute 是以对象的形式接受Post 过来的表单参数。

    另外还有以下方式:

    public String login(@RequestParam String username,@RequestParam String password) {
            System.out.println("username:"+username+" password"+password);
            TUser user=userServer.login(username, password);
            if(user!=null)
             return "success";
            return "error";
        }

    @RequestParam是请求参数,而且参数名必须是对应的username,password

  • 相关阅读:
    Swap Nodes in Pairs
    Search for a Range——稍微升级版的二分查找
    Set Matrix Zeroes——常数空间内完成
    Ubuntu系统---C++之Eclipse 开始工程项目
    Ubuntu系统---C++之Eclipse编译器 CDT插件安装
    Ubuntu系统---开机总会显示错误报告处理
    Ubuntu系统---C++之Eclipse IDE 编译器安装
    Ubuntu系统---终端下用g++进行c++项目
    Ubuntu系统---进行C++项目开发的工具
    YOLO---Darknet下的 GPU vs CPU 速度
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/4901480.html
Copyright © 2020-2023  润新知