Sping @RequestParam 如何传递一个对象,在线等候,在这里先谢谢大侠了

chengcwn 2013-03-14 11:32:56
Java代码
/**
* 查询日志列表
* @param po
* @param start
* @param limit
* @return
*/
@RequestMapping(value="/dipImportLog/list.action")
public @ResponseBody Map<String,? extends Object> list(@RequestParam DipImportLog po,@RequestParam int start, @RequestParam int limit){
try{

if(po==null){
po=new DipImportLog();
}
List<DipImportLog> importLogs = new ArrayList<DipImportLog>();
importLogs=dipImportLogService.getListWithCondtion(po, start, limit);
int total=dipImportLogService.getTotal(po);
return ExtJSReturn.mapOK(importLogs, total);
}catch(Exception ex){
ex.printStackTrace();
return null;
}
}

extjs中的代码是
/**
* DIP日志操作
*/
searchDipImportLog : function(btn) {
var me = btn.up('dipimportlogmanagement');
me.params=new Object();
me.params["po.createDate"]= me.down('datefield[name="startdtId"]').getValue();
me.params["po.createDate"]=me.down('datefield[name="enddtId"]').getValue();
me.params["po.importResult"]=me.down('textfield[name="importResult"]').getValue();
me.params["po.importType"]=me.down('textfield[name="importType"]').getValue();
me.params["po.createPerson"]=me.down('textfield[name="createPerson"]').getValue();
me.params["po.comments"]=me.down('textfield[name="comments"]').getValue();

var store = me.down('gridpanel').getStore();
var pagbar = me.down('pagingtoolbar');
Ext.apply(store.proxy.extraParams,me.params);
pagbar.moveFirst();
}
...全文
5474 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
乐子 2013-05-09
  • 打赏
  • 举报
回复
我用json把form封装成了一个对象,但后台controller接收出了问题,网上说用@RequestBody Javabean javabean 但我出问题我正找……
chengcwn 2013-03-15
  • 打赏
  • 举报
回复
引用 4 楼 gl74gs48 的回复:
引用 2 楼 justsmilence 的回复:不用加@RequestParam注解,直接用对象就可以了public String saveDocumentBook(DocumentBook book) LS正解 me.params["po.createDate"]= me.down('datefield[name="startdtId"]').getValue();……
因为是我是用的对象,在java中我用的是po.getCreateDate(),这样写的,所以前面封装参数的时候,就需要 加上po.createDate
阿甘1976 2013-03-15
  • 打赏
  • 举报
回复
引用 2 楼 justsmilence 的回复:
不用加@RequestParam注解,直接用对象就可以了public String saveDocumentBook(DocumentBook book)
LS正解 me.params["po.createDate"]= me.down('datefield[name="startdtId"]').getValue(); 应该改为 me.params["createDate"]= me.down('datefield[name="startdtId"]').getValue();
lvzg_005 2013-03-15
  • 打赏
  • 举报
回复
五、命令/表单对象 Spring Web MVC能够自动将请求参数绑定到功能处理方法的命令/表单对象上。 1.@RequestMapping(value = "/commandObject", method = RequestMethod.GET) 2.public String toCreateUser(HttpServletRequest request, UserModel user) { 3. return "customer/create"; 4.} 5.@RequestMapping(value = "/commandObject", method = RequestMethod.POST) 6.public String createUser(HttpServletRequest request, UserModel user) { 7. System.out.println(user); 8. return "success"; 9.} @RequestMapping(value = "/commandObject", method = RequestMethod.GET) public String toCreateUser(HttpServletRequest request, UserModel user) { return "customer/create"; } @RequestMapping(value = "/commandObject", method = RequestMethod.POST) public String createUser(HttpServletRequest request, UserModel user) { System.out.println(user); return "success"; } 如果提交的表单(包含username和password文本域),将自动将请求参数绑定到命令对象user中去。 具体参考:http://jinnianshilongnian.iteye.com/blog/1698916 spring mvc系列介绍
  • 打赏
  • 举报
回复
不用加@RequestParam注解,直接用对象就可以了public String saveDocumentBook(DocumentBook book)
rockets311 2013-03-15
  • 打赏
  • 举报
回复
初学Spring MVC,感觉好像不可行啊,如果楼主要传对象,可以不用@RequestParam嘛!用Serlvt的API(HttpServletRequest 、HttpSession ……)当参数。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧