Spring mvc 从jsp传递参数到后台控制器中,传递的参数如何封装成一个对象

jsp部分:就是一个form表单,表单参数有name,createDate,Description这三个参数pojo部分:一个实体类client中有这三个属性contro... jsp部分 : 就是一个form表单,表单参数有 name , createDate, Description 这三个参数

pojo 部分: 一个实体类client 中有这三个属性
controller部分代码:

@RequestMapping("clientAdd")
public String clientAdd(Client client){
System.out.println(client.getName()+"=============000");
return "redirect:../../api/go/login";



问题: 为什么 打印出来的名字为空,也是说没有把直set到client中 ,错误在那里,因该怎样解决 ,请给位大神棒棒忙 ,着急中
展开
 我来答
百度网友a14f94b
2013-10-10
知道答主
回答量:17
采纳率:0%
帮助的人:9.4万
展开全部
你对name这个属性有没有Set、get方法,没有的话注入不了,所以name属性就空
更多追问追答
追问
set .get 有的
追答
client有没有匹配好。没有的话这个对象空的。怎么会有东西
ykwild
2013-10-10
知道答主
回答量:30
采纳率:0%
帮助的人:19.7万
展开全部
表单中的name名称改为client.name
更多追问追答
追问
试过了 ,还是没有数据进去 ,
追答
楼上说的是对的,需要一个中间层来交互,其中一种实现方式(放父类里),自己显式调用绑定
/**
* Spring MVC
*
* @return
* @see #preBind(HttpServletRequest,Object,ServletRequestDataBinder)
*/
protected BindingResult bindObject(HttpServletRequest request,
Object command) throws Exception {
ServletRequestDataBinder binder = createBinder(request, command);
preBind(request, command, binder);
binder.bind(request);
Validator[] validators = getValidators();
if (validators != null) {
for (Validator validator : validators) {
if (validator.supports(command.getClass())) {
ValidationUtils.invokeValidator(validator, command, binder
.getBindingResult());
}
}
}
return binder.getBindingResult();
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
li601295224
2013-10-10 · 超过28用户采纳过TA的回答
知道答主
回答量:206
采纳率:0%
帮助的人:73.3万
展开全部
直接接受这三个参数在赋值给你的pojo也行!
追问
直接复直是可以的 ,但是如果参数表多,这样感觉代码不简练
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式