为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

喵喵时光机 2019-03-01 10:28:43
@Controller public class NaviPageController { @RequestMapping("navi") public String navi(ModelMap modelMap,String fid,String cid){ return "list"; } } 有两种url传递方式,navi?fid=1navi?fid=1&cid=2 怎么判断是哪种url请求过来的啊?
查看完整描述

3 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

@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

查看完整回答
反对 回复 2019-03-01
?
智慧大石

TA贡献1946条经验 获得超3个赞

你可以通过这样的方式获取url后面的参数
@Controller
public 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";
}

}

查看完整回答
反对 回复 2019-03-01
?
猛跑小猪

TA贡献1858条经验 获得超8个赞

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

查看完整回答
反对 回复 2019-03-01
  • 3 回答
  • 0 关注
  • 1619 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号