首页 新闻 赞助 找找看

springmvc参数为自定义对象时,怎么设置默认值

0
悬赏园豆:10 [已关闭问题] 关闭于 2017-10-22 17:42

如上图,我的User是一个自定义的对象,属性有

我前台请求的时候,只传一个id和用户名还有密码三个属性的值,后台怎么给这个对象的其他属性设置一个默认值呢?(不能在User构造方法里设置默认值)

我滴个小张张的主页 我滴个小张张 | 初学一级 | 园豆:42
提问于:2017-09-25 16:28
< >
分享
所有回答(2)
0

直接调用user的set方法呗

让我发会呆 | 园豆:2929 (老鸟四级) | 2017-09-25 16:45

这里的参数是一个对象,有N个属性,前台传参的时候可能只传其中的某些个,我想做的是,前台传的就用前台传过来的值,前台没有传的,给一个默认值。

支持(0) 反对(0) 我滴个小张张 | 园豆:42 (初学一级) | 2017-09-25 16:50

@SKYER5217: 那就在你的第一个截图里 ,用set方法给它传你的默认值。

或者在你的第二个截图里,这样定义,private int age = 10;  如果你前台设置了age,那么这个age就是你前台设置的,如果前台没设置,那就是10

支持(0) 反对(0) 让我发会呆 | 园豆:2929 (老鸟四级) | 2017-09-25 16:53

@让我发会呆: 第一张图里怎么传?因为你不知道前台传了那些值啊,你set哪个不set哪个?另外,不能private int age = 10;这样我在其他地方new User的时候也会有默认值了,我想要的效果是类似public void test(@RequestParam(defaultValue = "10") int age){}这样的功能

支持(0) 反对(0) 我滴个小张张 | 园豆:42 (初学一级) | 2017-09-25 17:05

@SKYER5217: 那你这个User定义的时候只给这个controller的这个方法用呗,而且定义对象的时候,最好能看到层次结构,UserVO、UserDTO、UserBO、User,最后的User和你的数据库表对应,这样你就不用担心这个前端的对象被别人使用了

支持(0) 反对(0) 让我发会呆 | 园豆:2929 (老鸟四级) | 2017-09-25 17:09
0

默认值,直接声明赋值就是了啊,你定义变量本身有个默认值的

全力以赴001 | 园豆:629 (小虾三级) | 2017-09-26 09:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册