今天在页面请求后台的时候遇到了一个问题,请求不到后台

页面代码

<li>
                        <a href="javascript:void(0);" class="indicator statistics">
                            <span class="icon icon-statistics"></span>
                            统计中心
                            <span class="allow"></span>
                        </a>
                        <ul class="submenu">
                            <li><a href="${ctx }/views/material/BrandGrade_statistics_page">材价库统计</a></li>
                            <li><a href="${ctx }/views/material/BrandGrade_statistics_page">品牌库统计</a></li>
                            <li><a href="${ctx }/views/document/documentList/document_statistics_page">文档库统计</a></li>
                            <li><a href="${ctx }/views/material/BrandGrade_statistics_page">员工贡献榜</a></li>
                        </ul>
                    </li>

后台代码

/**
     * 文档库页面
     */
    @RequestMapping(value = "/document_statistics_page", produces = { WebConstant.WEB_CHARSET })
    public String document_statistics_page(@RequestParam("isprivatedoc") String isprivatedoc,
            HttpServletRequest request,HttpServletResponse response,Model model) throws Exception {
        List<Document> getSourceList = documentListService.getSource();
        List<Document> getCategoryList = documentListService.getCategory();//一级分类
        
        Map<String, List<Map<String, String>>> thirdcategoryList = Maps.newConcurrentMap();
        
        if (null != getCategoryList && !getCategoryList.isEmpty()) {
            List<Document> getSubCategoryList = documentListService.getSubCategory();//二级级分类
            
            for (Document category : getCategoryList) {
                List<Map<String, String>> nodeList = new ArrayList();
                String id = category.getId()+"";
                for (Document category2 : getSubCategoryList) {
                    if(category2.getCategoryid()!=null&&id.equals(category2.getCategoryid())){
                        Map<String, String> subMap = new HashMap<String,String>();
                        subMap.put("id", category2.getSubcategoryid());
                        subMap.put("category", category2.getCategoryName());
                        nodeList.add(subMap);
                    }
                }
                thirdcategoryList.put(id, nodeList);
            }
        }
        
        model.addAttribute("getCategoryList", getCategoryList);
        model.addAttribute("thirdcategoryList", thirdcategoryList);
        model.addAttribute("getSourceList", getSourceList);
        return "/statistics/document_statistics1";
    }

后来找到了是使用SpringMVC注解@RequestParam的问题:

使用SpringMVC注解@RequestParam(value="XXX",required=false)时需要注意的问题

@RequestParam(value = what required = true)
void test(int what){};
这个是传参 当他为false 时 使用这个注解可以不传这个参数 true时必须传
required默认值是true

原因是我在页面的 href没有带后台要到请求的参数。

@RequestParam(required = true),@RequestParam(required = true)的更多相关文章

  1. spring mvc 绑定参数据默认值,是否必传,(RequestParam(value="id",defaultValue="1",required=true) )

    @RequestMapping(value = "/detail", method = RequestMethod.GET) public String newDetail(@Re ...

  2. @RequestMapping映射请求,@PathVariable,@RequestParam,@RequestHeader的使用

    1.@RequestMapping Spring MVC 使用 @RequestMapping 注解为控制器指定可以处理哪些 URL 请求,在控制器的类定义及方法定义处都可标注. @RequestMa ...

  3. @PathVariable,@RequestParam, @RequestBody

    https://www.cnblogs.com/guoyinli/p/7056146.html https://www.cnblogs.com/zeroingToOne/p/8992746.html ...

  4. @RequestBody对象为空,异常Required request body is missing

    1.异常 org.springframework.http.converter.HttpMessageNotReadableException: Required request body is mi ...

  5. SpringMVC中通过@ResponseBody返回对象,Js中调用@ResponseBody返回值,统计剩余评论字数的js,@RequestParam默认值,@PathVariable的用法

    1.SpringMVC中通过@ResponseBody.@RequestParam默认值,@PathVariable的用法 package com.kuman.cartoon.controller.f ...

  6. SpringBoot实战(四)获取接口请求中的参数(@PathVariable,@RequestParam,@RequestBody)

    上一篇SpringBoot实战(二)Restful风格API接口中写了一个控制器,获取了前端请求的参数,现在我们就参数的获取与校验做一个介绍: 一:获取参数 SpringBoot提供的获取参数注解包括 ...

  7. @RequestBody对象为空,异常Required request body is missing错误解决

    1.异常 org.springframework.http.converter.HttpMessageNotReadableException: Required request body is mi ...

  8. 问题:两个对象值相同(x.equals(y) == true),但是可能存在hashCode不同吗?

    面试官的考察点 这道题仍然是考察JVM层面的基本知识,面试官认为,基本功扎实,才能写出健壮性和稳定性很高的代码. 涉及到的技术知识 (x.equals(y)==true),这段代码,看起来非常简单,但 ...

  9. [ jquery 过滤器 hasClass(class) ] 此方法用于在选择器的基础之上检查当前的元素是否含有某个特定的类,如果有,则返回true

    此方法用于在选择器的基础之上检查当前的元素是否含有某个特定的类,如果有,则返回true 实例: <!DOCTYPE html> <html lang='zh-cn'> < ...

随机推荐

  1. Vulkan移植GpuImage(四)从D到O的滤镜

    现把D到O的大部分滤镜用vulkan的ComputeShader实现了,列举其中一些有点特殊的说明. GaussianBlurPosition 指定区域高斯模糊 没有按照GPUImage里的方式实现, ...

  2. hdu4771 水搜索(状态压缩+bfs)

    题意:      给你一个n*m的地图,问你从起点出发,吧所有的宝藏都捡完用的最少时间. 思路:k <= 4,水题,直接开一个数组mark[now][x][y];now代表的是当前检宝藏的二进制 ...

  3. Android Hook框架adbi的分析(3)---编译和inline Hook实践

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/75200800 一.序言 在前面的博客中,已经分析过了Android Hook框架a ...

  4. 基于防火墙的VRRP技术--华为防火墙双机热备--VGMP

    目录 主备备份双机热备配置 负载分担双机热备配置 为了解决多个VRRP备份组状态不一致的问题,华为防火墙引入VGMP(VRRP Group Management Protocol)来实现对VRRP备份 ...

  5. Python脚本破解图形验证码(tesserocr和pytesseract)

    在学习之前,我们先了解OCR.tesseract.tesserocr.pytesseract和opencv这几个跟图片处理有关的库. OCR(Optical Character Recognition ...

  6. Linux中使用gdb dump内存

    在应急响应中,我们往往会有dump出某一块内存下来进行分析的必要.今天要讲的是利用gdb命令dump出sshd进程的内存. 按照 Linux 系统的设计哲学,内核只提供dump内存的机制,用户想要du ...

  7. IOS Widget(4-1):创建可配置小组件(静态配置数据)

    引言   经过前面几篇文章阅读,已经掌握开发一款小组件的基本技能了,接下来开始掌握一些相对高级一点的技能.本文创建一个可配置小组件,通过修改时间类型,让Text空间显示不同格式的时间. 本文大纲 添加 ...

  8. <JVM上篇:内存与垃圾回收篇>02-类加载子系统

    笔记来源:尚硅谷JVM全套教程,百万播放,全网巅峰(宋红康详解java虚拟机) 同步更新:https://gitee.com/vectorx/NOTE_JVM https://codechina.cs ...

  9. Day004 选择结构

    选择结构 if单选择结构(if) if双选择结构(if...else...) if多选择结构(if..else if...else) 嵌套的if结构 switch多选择结构 switch语句中的变量类 ...

  10. Wampserver-删除虚拟主机

    对hosts操作 到目录C:\Windows\System32\drivers\etc中修改hosts 比如你想删除iwh2.com 选中这2行进行删除,保存退出 对httpd-vhosts操作 到目 ...