SpringMVC中关于ModelAttribute的问题-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

SpringMVC中关于ModelAttribute的问题

a123456678 2016-03-13 16:28:57 1295

方法头部是这样的:

@RequestMapping(params="id", method = RequestMethod.PUT, produces = "text/html")
public String update( @Valid BaseJob job, BindingResult bindingResult, Model uiModel, HttpServletRequest httpServletRequest ,@RequestParam("id")JobKey key)
springMVC中把请求的数据都自动填充到表单对象(BaseJob)中的,现在因为页面传过来的数据是不同的(BaseJob子类) 我想自己一个一个数据的取出,创建不同的POJO,但request和uiModel中都没有找到,请问怎么做?

分享到
取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:02:51
    首先确定能断点进入update方法中。 
    
    Enumeration e = request.getParameterNames();
            while (e.hasMoreElements())
            {
                Object object = (Object) e.nextElement();
                System.out.println(object);
            }
    关掉后获取不到,就像上面说的,request里面没有东西,session里面也没有,
    
    现在代码是这样的
    
    @RequestMapping(params="id", method = RequestMethod.PUT, produces = "text/html")
     public String update(Model uiModel, HttpServletRequest httpServletRequest
             ,@RequestParam("id")JobKey key) throws SchedulerException {
         Enumeration<?> em = httpServletRequest.getAttributeNames();
         System.out.print("httpServletRequest: ");
         if(em.hasMoreElements()){
             System.out.println(em.nextElement());
         }
         Enumeration<?> session = httpServletRequest.getSession().getAttributeNames();
         System.out.print("httpServletSession: ");
         if(session.hasMoreElements()){
             System.out.println(session.nextElement());
         }
         System.out.print("uiModel: ");
         Set<String> map = uiModel.asMap().keySet();
         for (String string : map) {
             Object o = uiModel.asMap().get(string);
             System.out.println(o);
         }
    结果是:
    
    httpServletRequest: CharacterEncodingFilter.FILTERED
    
    httpServletSession:
    
    uiModel:
    0 0
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

推荐文章