Springmvc 传递参数

今天遇到一个问题,之前一直用spring+struts+ibaits框架,在jsp页面中有个form表单。比如:有个input标签 。它的name是对象.属性。那么,我们在后台只要给这个对象或者是这个对象的属性设置getter、setter方法就ok了。

但是springmvc中,无论我怎么设置都是没用。最后终于找到了解决办法。

  1. 现在我有个实体对象
private String U_PASSWORD;

private String U_NAME;

private String U_QQ;

private String U_EMAIL;

/////////////////////////////////////////////////////////////////////////
//getter、setter method
   .        .
   .        .
   .        .

2.springmvc contorller

参数里面加上@ModelAttribute User user

@RequestMapping("/reg")
    public String reg(@ModelAttribute User user ,HttpServletRequest request,Model model)
    {
        System.out.println(user.getU_NAME()); //得到传过来的U_NAME
        System.out.println(user.getU_EMAIL());//得到传过来的U_EMAIL
        System.out.println(user.getU_PASSWORD());//得到传过来的U_PWD

        this.userService.reg(user); //注册
        model.addAttribute("user",user);
        return "/sys/user/user_login"; //页面跳转
    }
    //初始化绑定user(很重要)
    @InitBinder("user")
    public void initBinder1(WebDataBinder binder) {
            binder.setFieldDefaultPrefix("user.");
    }   

3.下面是我的user.jsp,通过form表单提交

<form id="reg_form" method="post" action="user/reg" onsubmit="return check();">
        <table>
            <tr>
                <td>手机或邮箱:</td>
                <td>
                    <input name="user.U_EMAIL" id="email"  placeholder = "请输入手机号或邮箱"/>
                </td>
            </tr>
            <tr>
                <td>登录密码:</td>
                <td>
                    <input name="user.U_PASSWORD" id="pwd" type="password"/>
                </td>
            </tr>
            <tr>
                <td>确认密码:</td>
                <td>
                    <input name="user.U_PASSWORD" type="password" id="repwd" />
                </td>
            </tr>
            <tr>
                <td>昵称:</td>
                <td>
                    <input name="user.U_NAME" id="nickname"/>
                </td>
            </tr>
            <tr>
                <td>验证码:</td>
                <td>
                    <input name="" id="code" />
                </td>
            </tr>
        </table>
        <input type="submit" value="同意协议并注册"/>
    </form>

4.大家注意上面的jsp页面的input 中都有个user.xxx,这就是对象.属性,后台的user一定要和input name里的属性完全一致,才能在后台controller中初始化绑定到user上。继而得到对象中所有的属性值。

希望对大家有所帮助

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-29 10:38:21

Springmvc 传递参数的相关文章

springmvc传递参数与接收参数

springmvc和structs的接收参数的映射原理是一样的一.表单代码<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3

spring - springMVC - 传递参数

https://www.cnblogs.com/clamp7724/p/11693572.html 在这个例子的基础上修改 1.前台向后台传参 1.1:超链接传递参数 在index.jsp页面添加超链接 <a href="hello/helloparams?name='yzha'&password='123456'">Hello params</a> <!--据说有的浏览器hello/helloparams不行,谷歌是可以的,别的不知道...--&

SpringMVC传递参数和获取参数以及返回数据

1.传递form表单,参数接收到对象,name和对象属性对应上即可:   2.springmvc不能直接通过form表单传递多个对象的list集合,要么采用ajax传递,要么采用封装了list属性的bean来接收,jsp页面的name和list的name对应,采用下标区分       3.传递ajax获取数据,ajax可以方便传递多个对象list   4.获取路径参数:  

springMVC传递参数内有list的提交

最后使用ajax提交成功,下面是一些代码,后面如果有时间再完善. ajax: function test(){        $.ajax({            type: "POST",            url: "test2",            contentType:"application/json",            data: '{"propTest":"test",&qu

SpringMVC源代码学习外传(二)如何在重定向时传递参数&amp;FlashMap

以下内容基于书:<看透SpringMVC-源代码分析与实践> 基本照搬...用于自己查阅备忘. 加上外传关键字的是讨论一些SpringMVC的特定类的使用方法, 非外传的是对启动流程/请求处理流程,我们可以看作主线剧情. 什么是FlashMap? flashmap的作用是在redirect中传递参数.大家都知道转发 request是不变的,重定向会生成新的request,那传递参数就不能直接用request进行传递. spring提供了相应的方法解决这个问题,两种方法: //1.得到一个Fla

ajax传递参数给springmvc总结[转]

通过ajax传递参数给springmvc,经常会因为 参数类型太复杂,或者根本不知道springmvc都支持哪些类型转换,导致后台接收出现各种问题.如果书写格式没有问题仍然接受参数报错,大部分是因为springmvc默认无法支持该种格式的json转换导致的 现在一句话解决,就是用@RequestBody注解接收 下面看一些传参的例子,基本涵盖了大部分的参数传递类型 案例1:简单数组 idList[] ajax $("#test1").on("click",funct

SpringMVC验证框架Validation自定义注解实现传递参数到国际化资源文件

关于SpringMVC验证框架Validation的使用方法,不是本篇的重点,可参见博文SpringMVC介绍之Validation 在使用Validation时,一定有朋友遇到过一个问题,那就是:无法传递参数到国际化资源文件properties错误描述中. 举个例子: User类中 @NotEmpty(message="{password.empty.error}") private String password; 资源文件validation_zh_CN.properties中为

springMVC通过ajax传递参数list对象或传递数组对象到后台

springMVC通过ajax传递参数list对象或传递数组对象到后台 环境: 前台传递参数到后台 前台使用ajax 后台使用springMVC 传递的参数是N多个对象 JSON对象和JSON字符串 在SpringMVC环境中,@RequestBody接收的是一个Json对象的字符串,而不是一个Json对象.然而在ajax请求往往传的都是Json对象,用 JSON.stringify(data)的方式就能将对象变成字符串.同时ajax请求的时候也要指定dataType: "json",

springMVC传递对象参数

初学java,由于项目紧急,来不及仔细的研究,在传递参数时就老老实实的一个一个的采用@RequestParam注解方式传递,最近认真看了一下,发现java也具有类似Asp.net Mvc传递对象做参数的方式,即采用@ModelAttribute注解的方式,接收方式如下: 1 @RequestMapping("hello") 2 public String Hello(@ModelAttribute("user") User user) 3 { 4 System.ou