springMVC怎么判断有没有传递某个参数?

@Controller
public class NaviPageController {
    @RequestMapping("navi")
    public String navi(ModelMap modelMap,String fid,String cid){
        
        
        return "list";
    }
}

有两种url传递方式,
navi?fid=1
navi?fid=1&cid=2

怎么判断是哪种url请求过来的啊?

喵喵时光机
浏览 1620回答 3
3回答

拉风的咖菲猫

@Controller public class NaviPageController { @RequestMapping("navi") public String navi(ModelMap modelMap,@RequestParam String fid,@RequestParam(required=false)String cid){ if(cid == null){ //handling code }else{ //other handling code } return "list"; } } 在SpringMVC后台控制层获取参数的方式主要有两种,一种是request.getParameter("name"),另外一种是用注解@RequestParam直接获取该注解有两个属性: value、required; value用来指定要传入值的id名称,required用来指示参数是否必须绑定; 所以按你描述,cid并不是必填的,所以配置required=false

智慧大石

你可以通过这样的方式获取url后面的参数@Controllerpublic class NaviPageController { @RequestMapping("navi") public String navi(HttpServletRequest request){ Map<String, String[]> paramtersMap = request.getParameterMap();//url后面的参数都在map里 paramtersMap.get("fid"); paramtersMap.get("cid"); return "list"; } }

猛跑小猪

@RequsetMapping有一个params属性,作用是使请求更精确比如@RequestMapping(value="/navi",params={"cid"}) :只有当请求参数中有cid的时候才进到目标方法。如果你对SpringMVC的知识不是很理解,可以看一下这个:SpringMVC知识详解
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java