请稍等 ...
×

采纳答案成功!

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

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

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

插入代码

1回答

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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下载

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

公众号

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