老师,id为null

来源:6-9 店铺管理页面的前端开发

快看喵

2018-05-15

学完第六章后,shoplist能显示,昨天可以跳到shopmanagement,但是地址栏的shopId 是null,今天干脆跳不到shopmanagement 页面了,闪回到shoplist,


写回答

2回答

翔仔

2018-05-15

你看这里的js

shopmanagement.js

$(function() {
	var shopId = getQueryString('shopId');
	var shopInfoUrl = '/o2o/shopadmin/getshopmanagementinfo?shopId=' + shopId;
	$.getJSON(shopInfoUrl, function(data) {
		if (data.redirect) {
			window.location.href = data.url;
		} else {
			if (data.shopId != undefined && data.shopId != null) {
				shopId = data.shopId;
			}
			$('#shopInfo')
					.attr('href', '/o2o/shopadmin/shopoperation?shopId=' + shopId);
		}
	});
});

获取的是店铺列表页点击后传递过来的选中的当前shopId并传递给后台,后台取到shopId后设置到session里面 下次刷新页面后Session里面已经有shopId存在currentShop里面了,直接取来用就好了。同学你可以看看我的代码格式化后很容易看

0
2
翔仔
回复
快看喵
同学真的不能抱有侥幸以及正好改了什么就好了的心理,要多分析一下为什么会这样,整体需要如何做,如果出问题出在哪个位置,逐渐培养自己解决和定位问题的体系
2018-05-15
共2条回复

快看喵

提问者

2018-05-15

我的modelMap里面的shopId全部为null,为什么放不进去呢

//img.mukewang.com/szimg/5afa81d20001390b06690654.jpg

//img.mukewang.com/szimg/5afa81d20001a4e508840541.jpg


0
4
翔仔
回复
快看喵
首先希望同学能站在一个对业务了解的角度来去看待这个问题,这样对你以后有帮助。同学得先想想,我们为什么要这么做?首先我们得在店铺列表里面选择一个店铺,比如这里的点击选中某个店铺,那怎么确定是选中哪个店铺,那么就有两种办法,一种是将店铺id传给即将要打开的页面;另外一种是将当前店铺选择放入session里面,下次点击的时候我们直接从session里面去取当前店铺的id就能知道选中的是哪个店铺。 其次我觉得你需要学会调试,而不是用打桩输出的方式,这样能提升你判断问题的效率。这里我们是这样判断的逻辑:如果前端没有传给入shopId,我们就从session里面去取,如果session没有取出shopid那就认为没有传入,就不知道当前选的是什么店铺,就退回店铺列表页。所以此处你要么就从js里面获取店铺列表点击选择某个店铺时传递过来的当前店铺id传进来,要么就在店铺列表点击瞬间将相关session给设定上去。这里我们选择的前者,详细请见我一会贴上来的js代码。 希望同学能多看看视频,理解一下其中的含义并且提升自己的断点调试技能。 同时贴代码的时候,我们有那种左上角选择代码格式并在里面写代码的功能,这样比你直接贴代码看起来更清晰
2018-05-15
共4条回复

Java双版本(SSM到SpringBoot)校园商铺全栈开发

SSM商铺V1.0,解决毕设痛点;SpringBoot商铺V2.0,满足工作刚需

5113 学习 · 8144 问题

查看课程