请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师好,我想问一下这个currentShop获取不到值是为什么,就光这几个视频我都反复对照了两遍了,没找到解决的方法,还请老师解答一下

正在回答 回答被采纳积分+3

1回答

翔仔 2019-04-16 00:28:03

同学好,其实同学可以站在业务的角度去理解,就清晰了。currentShop是当你在店家能够管理的店铺列表里选择进入其中一个店铺的时候,会在session里设置上。

private Map<String, Object> getShopManagementInfo(HttpServletRequest request) {
		Map<String, Object> modelMap = new HashMap<String, Object>();
		long shopId = HttpServletRequestUtil.getLong(request, "shopId");
		if (shopId <= 0) {
			Object currentShopObj = request.getSession().getAttribute("currentShop");
			if (currentShopObj == null) {
				modelMap.put("redirect", true);
				modelMap.put("url", "/myo2o/shopadmin/shoplist");
			} else {
				Shop currentShop = (Shop) currentShopObj;
				modelMap.put("redirect", false);
				modelMap.put("shopId", currentShop.getShopId());
			}
		} else {
			Shop currentShop = new Shop();
			currentShop.setShopId(shopId);
			request.getSession().setAttribute("currentShop", currentShop);
			modelMap.put("redirect", false);
		}
		return modelMap;
	}

之后只要session还有效就能从session中获取到店铺

1 回复 有任何疑惑可以回复我~
  • 提问者 慕丝5849131 #1
    问题解决了,之前忘记回复老师了,非常感谢老师,是我自己系统操作流程不对
    回复 有任何疑惑可以回复我~ 2019-04-23 17:07:25
  • 老师你好,  对于这个currentShop老师在视频中说过不直接从前端获取而是通过在后端设置上。 原因是用户的行为规范不在我们的掌控范围,, 但更深层次的原因是因为前端通过get方式访问  用户可以修改shopId的值吗? 如果是这样  那我们可以换成post或者使用其他方式将shopId隐藏起来,,用户就操作不了了。。  不知道是不是这样的原因,望老师解惑。总觉得直接从前端获取更方便
    回复 有任何疑惑可以回复我~ 2020-02-25 15:45:07
  • 翔仔 回复 啊顾顾 #3
    同学好,不行的,你post里面的内容抓包就出来了,同学可以了解一下session原理,是和客户端相关的,也可以通过证书来解决这个问题,但是证书用来比较麻烦
    回复 有任何疑惑可以回复我~ 2020-02-25 20:19:32
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信