PageInfo<Wagesinfo> pages =(PageInfo<Wagesinfo>) this.wagesService.getWagesForPage(wages, request.getParameterMap());
OaWagesService.java/**
 * 获取员工工资信息 - 分页
 * @param wages
 * @return
 */
public PageInfo<?> getWagesForPage(Wagesinfo wages,Map<String,Object> pagerValues);
OaWagesServiceImpl.java /**
 * 获取员工工资信息 - 分页
 * @param wages
 * @return
 */
public PageInfo<?> getWagesForPage(Wagesinfo wages,Map<String,Object> pagerValues){
StringBuffer hql = new StringBuffer(" from Wagesinfo wages where 1=1 ");
Map<String,Object> params = new HashMap<String,Object>();
if(wages != null){
if(wages.getUser()!=null && !this.baseUtil.isEmpty(wages.getUser().getUserId())){
hql.append(" and wages.user.userId = :userId ");
params.put("userId", wages.getUser().getUserId());
}
if(wages.getDepart()!=null && !this.baseUtil.isEmpty(wages.getDepart().getDepartId())){
hql.append(" and wages.depart.departId = :departId ");
params.put("departId", wages.getDepart().getDepartId());
}
if(!this.baseUtil.isEmpty(wages.getWageTime())){
hql.append(" and wages.wageTime like :wageTime");
params.put("wageTime", "%"+wages.getWageTime()+"%");
}
}
hql.append(" order by wages.wageId desc ");

PageInfo<?> wagesPage = this.pageUtil.paging(hql.toString(), params, null, pagerValues);

return wagesPage;
}
我想问的是,这个返回值怎么显示应用的方法有问题,没有改动过,之前还是正常的,未引用出错。有谁知道的帮忙解决一下吗,看了好多相关的,还是没有找到相关的解决办法。

解决方案 »

  1.   

    你输入的是
    getWagesForPage(Wagesinfo wages,Map<String,String[]> value)
    类型
    而你定义的方法是
    getWagesForPage(Wagesinfo wages,Map<String,Object> pagerValues)
      

  2.   


    public PageInfo<?> getWagesForPage(Wagesinfo wages,Map<String,Object> pagerValues);
    改为public PageInfo<?> getWagesForPage(Wagesinfo wages,Map<String,?> pagerValues);
      

  3.   


    其实我的意思就是怎么把参数request.getParameterMap()的值转换为Map<String,Object>
      

  4.   


    其实我的意思就是怎么把参数request.getParameterMap()的值转换为Map<String,Object>
    首先我觉得你定义的是
    Map<String,String[]>类型的
    那么输入方法应该定义为
    Map<String,Object[]>更合适一些。
    另外jdk之前的版本我不清楚,至少现在的版本是要求输入什么类型,就必须是什么类型,即使String是Object的子类也不行。
    你这个转化一下。
    如果你用2楼的那个方法,我感觉编译应该没问题,但运行起来会报错Map<String,String[]> map=new HashMap<String, String[]>();
    Map<String,Object[]> m=(Map<String,Object[]>)map;//这样应该是不行的
    Map<String,Object[]> mm=new HashMap<String, Object[]>();
    for(String key:map.keySet()){//暂时我只知道这样转化
    String[] value=map.get(key);
    mm.put(key, value);
    }
      

  5.   


    其实我的意思就是怎么把参数request.getParameterMap()的值转换为Map<String,Object>
    首先我觉得你定义的是
    Map<String,String[]>类型的
    那么输入方法应该定义为
    Map<String,Object[]>更合适一些。
    另外jdk之前的版本我不清楚,至少现在的版本是要求输入什么类型,就必须是什么类型,即使String是Object的子类也不行。
    你这个转化一下。
    如果你用2楼的那个方法,我感觉编译应该没问题,但运行起来会报错Map<String,String[]> map=new HashMap<String, String[]>();
    Map<String,Object[]> m=(Map<String,Object[]>)map;//这样应该是不行的
    Map<String,Object[]> mm=new HashMap<String, Object[]>();
    for(String key:map.keySet()){//暂时我只知道这样转化
    String[] value=map.get(key);
    mm.put(key, value);
    }
    我用了二楼的了,编译和运行都很正常,不过还是要感谢版版的帮助。