操作跳转不了404还有点击添加店铺返回不到商店列表

操作跳转不了404还有点击添加店铺返回不到商店列表

shopoperation.js

/**

 * 

 */

$(function(){

var shopId = getQueryString('shopId');

var isEdit = shopId?true:false;

var initUrl = '/o2o/shopadmin/getshopinitinfo';

var registerShopUrl = '/o2o/shopadmin/registershop';

var shopInfoUrl = "/o2o/shopadmin/getshopbyid?shopId="+shopId;

var editShopUrl = '/o2o/shopadmin/modifyshop';

// 判断是编辑操作还是注册操作

if (!isEdit) {

getShopInitInfo();

} else {

getShopInfo(shopId);

}

// 通过店铺Id获取店铺信息

function getShopInfo(shopId) {

$.getJSON(shopInfoUrl, function(data) {

if (data.success) {

// 若访问成功,则依据后台传递过来的店铺信息为表单元素赋值

var shop = data.shop;

$('#shop-name').val(shop.shopName);

$('#shop-addr').val(shop.shopAddr);

$('#shop-phone').val(shop.phone);

$('#shop-desc').val(shop.shopDesc);

// 给店铺类别选定原先的店铺类别值

var shopCategory = '<option data-id="'

+ shop.shopCategory.shopCategoryId + '" selected>'

+ shop.shopCategory.shopCategoryName + '</option>';

var tempAreaHtml = '';

// 初始化区域列表

data.areaList.map(function(item, index) {

tempAreaHtml += '<option data-id="' + item.areaId + '">'

+ item.areaName + '</option>';

});

$('#shop-category').html(shopCategory);

// 不允许选择店铺类别

$('#shop-category').attr('disabled', 'disabled');

$('#area').html(tempAreaHtml);

// 给店铺选定原先的所属的区域

$("#area option[data-id='" + shop.area.areaId + "']").attr(

"selected", "selected");

}

});

}

function getShopInitInfo(){

$.getJSON(initUrl,function(data){

if(data.success){

var tempHtml = '';

var tempAreaHtml = '';

data.shopCategoryList.map(function(item,index){

tempHtml += '<option data-id="'+item.shopCategoryId+'">'

+item.shopCategoryName + '</option>';

});

data.areaList.map(function(item,index){

tempAreaHtml+= '<option data-id="'+item.areaId+'">'

+item.areaName+'</option>';

});

$('#shop-category').html(tempHtml);

$('#area').html(tempAreaHtml);

}

});

// $('#submit').click(function(){

// var shop = {};

// if(isEdit){

// shop.shopId=shopId;

// }

// shop.shopName = $('#shop-name').val();

// shop.shopAddr = $('#shop-addr').val();

// shop.phone = $('#shop-phone').val();

// shop.shopDesc = $('#shop-desc').val();

// shop.shopCategory = {

// shopCategoryId:$('#shop-category').find('option').not(function(){

// return !this.selected;

// }).data('id')

// };

// shop.area = {

// areaId:$('#area').find('option').not(function(){

// return !this.selected;

// }).data('id')

// };

// // 获取上传的图片文件流

// var shopImg = $('#shop-img')[0].files[0];

// // 生成表单对象,用于接收参数并传递给后台

// var formData = new FormData();

// // 添加图片流进表单对象里

// formData.append('shopImg', shopImg);

// // 将shop json对象转成字符流保存至表单对象key为shopStr的的键值对里

// formData.append('shopStr', JSON.stringify(shop));

// // 获取表单里输入的验证码

// var verifyCodeActual = $('#j_captcha').val();

// if (!verifyCodeActual) {

// $.toast('请输入验证码!');

// return;

// }

//

// formData.append('verifyCodeActual',verifyCodeActual);

// $.ajax({

// url:(isEdit?editShopUrl:registerShopUrl),

// type:'POST',

// data:formData,

// contentType:false,

// processData:false,

// cache:false,

// success:function(data){

// if(data.success){

// //弹出信息

// $.toast('提交成功!');

// }else{

// $.toast('提交事态!'+data.errMsg);

// }

// $('#captcha_img').click();

// }

// })

// });

}

$('#submit').click(function(){

var shop = {};

if(isEdit){

shop.shopId=shopId;

}

shop.shopName = $('#shop-name').val();

shop.shopAddr = $('#shop-addr').val();

shop.phone = $('#shop-phone').val();

shop.shopDesc = $('#shop-desc').val();

shop.shopCategory = {

shopCategoryId:$('#shop-category').find('option').not(function(){

return !this.selected;

}).data('id')

};

shop.area = {

areaId:$('#area').find('option').not(function(){

return !this.selected;

}).data('id')

};

// 获取上传的图片文件流

var shopImg = $('#shop-img')[0].files[0];

// 生成表单对象,用于接收参数并传递给后台

var formData = new FormData();

// 添加图片流进表单对象里

formData.append('shopImg', shopImg);

// 将shop json对象转成字符流保存至表单对象key为shopStr的的键值对里

formData.append('shopStr', JSON.stringify(shop));

// 获取表单里输入的验证码

var verifyCodeActual = $('#j_captcha').val();

if (!verifyCodeActual) {

$.toast('请输入验证码!');

return;

}


formData.append('verifyCodeActual',verifyCodeActual);

$.ajax({

url:(isEdit?editShopUrl:registerShopUrl),

type:'POST',

data:formData,

contentType:false,

processData:false,

cache:false,

success:function(data){

if(data.success){

//弹出信息

$.toast('提交成功!');

}else{

$.toast('提交事态!'+data.errMsg);

}

$('#captcha_img').click();

}

})

});

})



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);

}

});

});


shoplist.js

$(function() {

getlist();

function getlist(e) {

$.ajax({

url : "/o2o/shopadmin/getshoplist",

type : "get",

dataType : "json",

success : function(data) {

if (data.success) {

handleList(data.shopList);

handleUser(data.user);

}

}

});

}

function handleUser(data) {

$('#user-name').text(data.name);

}


function handleList(data) {

var html = '';

data.map(function(item, index) {

html += '<div class="row row-shop"><div class="col-40">'

+ item.shopName + '</div><div class="col-40">'

+ shopStatus(item.enableStatus)

+ '</div><div class="col-20">'

+ goShop(item.enableStatus, item.shopId) + '</div></div>';


});

$('.shop-wrap').html(html);

}


function shopStatus(status) {

if (status == 0) {

return '审核中';

} else if (status == -1) {

return '店铺非法';

} else if (status == 1) {

return '审核通过';

}

}


function goShop(status, id) {

if (status == 1) {

return '<a href="/o2o/shopadmin/shopmanagement?shopId=' + id

+ '">进入</a>';

} else {

return '';

}

}

});

package com.imooc.o2o.web.shopadmin;


import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;


@Controller

@RequestMapping(value="shopadmin",method={RequestMethod.GET})

public class ShopAdminController {

@RequestMapping(value="/shopoperation")

public String shopOperation() {

return "shop/shopoperation";

}

@RequestMapping(value="/shoplist")

public String shopList() {

return "shop/shoplist";

}

}



package com.imooc.o2o.web.shopadmin;


import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;


import javax.servlet.http.HttpServletRequest;


import org.omg.CORBA.portable.OutputStream;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.bind.annotation.ResponseBody;

import org.springframework.web.multipart.MultipartHttpServletRequest;

import org.springframework.web.multipart.commons.CommonsMultipartFile;

import org.springframework.web.multipart.commons.CommonsMultipartResolver;


import com.fasterxml.jackson.databind.ObjectMapper;

import com.imooc.o2o.dto.ShopExecution;

import com.imooc.o2o.entity.Area;

import com.imooc.o2o.entity.PersonInfo;

import com.imooc.o2o.entity.Shop;

import com.imooc.o2o.entity.ShopCategory;

import com.imooc.o2o.enums.ShopStateEnum;

import com.imooc.o2o.exceptions.ShopOperationException;

import com.imooc.o2o.service.AreaService;

import com.imooc.o2o.service.ShopCategoryService;

import com.imooc.o2o.service.ShopService;

import com.imooc.o2o.util.CodeUtil;

import com.imooc.o2o.util.HttpServletRequestUtil;

import com.imooc.o2o.util.ImageUtil;

import com.imooc.o2o.util.PathUtil;


@Controller

@RequestMapping("/shopadmin")

public class ShopManagementController {

@Autowired

private ShopService shopService;

@Autowired

private ShopCategoryService shopCategoryService;

@Autowired

private AreaService areaService;


@RequestMapping(value = "/getshopmanagementinfo", method = RequestMethod.GET)

@ResponseBody

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", "/o2o/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;

}


@RequestMapping(value = "/getshoplist", method = RequestMethod.GET)

    @ResponseBody

    private Map<String, Object> getShopList(HttpServletRequest request) {

        Map<String, Object> modelMap = new HashMap<String, Object>();

        PersonInfo user = new PersonInfo();

        user.setUserId(1L);

        user.setName("test");

        request.getSession().setAttribute("user", user);

        user = (PersonInfo) request.getSession().getAttribute("user");

        try {

            Shop shopCondition = new Shop();

            shopCondition.setOwner(user);

            ShopExecution se = shopService.getShopList(shopCondition, 0, 100);

            modelMap.put("shopList", se.getShopList());

            modelMap.put("user", user);

            modelMap.put("success", true);

        } catch (Exception e) {

            modelMap.put("success", false);

            modelMap.put("errMsg", e.getMessage());

        }

        return modelMap;

    }



@RequestMapping(value = "/getshopbyid", method = RequestMethod.GET)

@ResponseBody

private Map<String, Object> getShopById(HttpServletRequest request) {

Map<String, Object> modelMap = new HashMap<String, Object>();

Long shopId = HttpServletRequestUtil.getLong(request, "shopId");

if (shopId > -1) {

try {

Shop shop = shopService.getByShopId(shopId);

List<Area> areaList = areaService.getAreaList();

modelMap.put("shop", shop);

modelMap.put("areaList", areaList);

modelMap.put("success", true);

} catch (Exception e) {

modelMap.put("success", false);

modelMap.put("errMsg", e.toString());

}


} else {

modelMap.put("success", false);

modelMap.put("errMsg", "empty shopId");

}

return modelMap;

}


@RequestMapping(value = "/getshopinitinfo", method = RequestMethod.GET)

@ResponseBody

private Map<String, Object> getShopInitInfo() {

Map<String, Object> modelMap = new HashMap<String, Object>();

List<ShopCategory> shopCategoryList = new ArrayList<ShopCategory>();

List<Area> areaList = new ArrayList<Area>();

try {

shopCategoryList = shopCategoryService.getShopCategoryList(new ShopCategory());

areaList = areaService.getAreaList();

modelMap.put("shopCategoryList", shopCategoryList);

modelMap.put("areaList", areaList);

modelMap.put("success", true);

} catch (Exception e) {

modelMap.put("success", false);

modelMap.put("errMsg", e.getMessage());

}

return modelMap;

}


@RequestMapping(value = "/registershop", method = RequestMethod.POST)

@ResponseBody

private Map<String, Object> registerShop(HttpServletRequest request) {

Map<String, Object> modelMap = new HashMap<String, Object>();

if (!CodeUtil.checkVerifyCode(request)) {

modelMap.put("success", false);

modelMap.put("errMsg", "输入了错误的验证码");

return modelMap;

}

// 1.接收并转化相应的参数,包括店铺信息以及图片信息

String shopStr = HttpServletRequestUtil.getString(request, "shopStr");

ObjectMapper mapper = new ObjectMapper();

Shop shop = null;

try {

shop = mapper.readValue(shopStr, Shop.class);

} catch (Exception e) {

modelMap.put("success", false);

modelMap.put("errMsg", e.getMessage());

return modelMap;

}

CommonsMultipartFile shopImg = null;

CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver(

request.getSession().getServletContext());

if (commonsMultipartResolver.isMultipart(request)) {

MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest) request;

shopImg = (CommonsMultipartFile) multipartHttpServletRequest.getFile("shopImg");

} else {

modelMap.put("success", false);

modelMap.put("errMsg", "上传图片不能为空");

return modelMap;

}

// 2.注册店铺

if (shop != null && shopImg != null) {

PersonInfo owner = (PersonInfo) request.getSession().getAttribute("user");

shop.setOwner(owner);

ShopExecution se;

try {

se = shopService.addShop(shop, shopImg.getInputStream(), shopImg.getOriginalFilename());

if (se.getState() == ShopStateEnum.CHECK.getState()) {

modelMap.put("success", true);

// 该用户可以操作的店铺列表

@SuppressWarnings("unchecked")

List<Shop> shopList = (List<Shop>) request.getSession().getAttribute("shopList");

if (shopList == null || shopList.size() == 0) {

shopList = new ArrayList<Shop>();

}

shopList.add(se.getShop());

request.getSession().setAttribute("shopList", shopList);

} else {

modelMap.put("success", false);

modelMap.put("errMsg", se.getStateInfo());

}

} catch (ShopOperationException e) {

modelMap.put("success", false);

modelMap.put("errMsg", e.getMessage());

} catch (IOException e) {

modelMap.put("success", false);

modelMap.put("errMsg", e.getMessage());

}

return modelMap;

} else {

modelMap.put("success", false);

modelMap.put("errMsg", "请输入店铺信息");

return modelMap;

}

}


@RequestMapping(value = "/modifyshop", method = RequestMethod.POST)

@ResponseBody

private Map<String, Object> modifShop(HttpServletRequest request) {

Map<String, Object> modelMap = new HashMap<String, Object>();

if (!CodeUtil.checkVerifyCode(request)) {

modelMap.put("success", false);

modelMap.put("errMsg", "输入了错误的验证码");

return modelMap;

}

// 1.接收并转化相应的参数,包括店铺信息以及图片信息

String shopStr = HttpServletRequestUtil.getString(request, "shopStr");

ObjectMapper mapper = new ObjectMapper();

Shop shop = null;

try {

shop = mapper.readValue(shopStr, Shop.class);

} catch (Exception e) {

modelMap.put("success", false);

modelMap.put("errMsg", e.getMessage());

return modelMap;

}

CommonsMultipartFile shopImg = null;

CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver(

request.getSession().getServletContext());

if (commonsMultipartResolver.isMultipart(request)) {

MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest) request;

shopImg = (CommonsMultipartFile) multipartHttpServletRequest.getFile("shopImg");

}

// 2.修改店铺信息

if (shop != null && shop.getShopId() != null) {

ShopExecution se;

try {

if (shopImg == null) {

se = shopService.modifyShop(shop, null, null);

} else {

se = shopService.modifyShop(shop, shopImg.getInputStream(), shopImg.getOriginalFilename());

}


if (se.getState() == ShopStateEnum.SUCCESS.getState()) {

modelMap.put("success", true);

} else {

modelMap.put("success", false);

modelMap.put("errMsg", se.getStateInfo());

}

} catch (ShopOperationException e) {

modelMap.put("success", false);

modelMap.put("errMsg", e.getMessage());

} catch (IOException e) {

modelMap.put("success", false);

modelMap.put("errMsg", e.getMessage());

}

return modelMap;

} else {

modelMap.put("success", false);

modelMap.put("errMsg", "请输入店铺ID");

return modelMap;

}

}

}


html页面我复制的源码

正在回答

登陆购买课程后可参与讨论,去登陆

5回答

同学你好,如果店铺注册成功,将会访问/o2o/shopadmin/shoplist,如:

http://img1.sycdn.imooc.com//climg/5e74901e0997a60308700525.jpg

然后ShopAdminController中,/shoplist将会转发到店铺列表页面,如:

http://img1.sycdn.imooc.com//climg/5e74906009fcbc4d06230231.jpg

建议同学检查一下。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

好帮手慕阿满 2020-03-20 10:03:29

同学你好,问一下同学ShopAdminController类中,是否有shopmanagement的映射,将其转发到店铺管理页面,如:

http://img1.sycdn.imooc.com//climg/5e742434091715c006220285.jpg

建议同学检查一下。

祝:学习愉快~

  • 提问者 weixin_慕瓜9083905 #1
    解决了但是我点击添加店铺后在点返回回不到商店列表
    2020-03-20 10:50:07
  • 提问者 weixin_慕瓜9083905 #2
    返回到了其他页面
    2020-03-20 10:51:35
提问者 weixin_慕瓜9083905 2020-03-19 19:31:29

http://img1.sycdn.imooc.com//climg/5e73565309ce999a13170844.jpg点击进入后到上面发的那张图的地址


提问者 weixin_慕瓜9083905 2020-03-19 19:23:42
好帮手慕柯南 2020-03-19 19:21:35

同学你好!

404通常都是路径不正确,同学你访问的路径和老师视频中是否一样呢?

建议你贴一下你具体访问的路径,也可以是浏览器控制台报404的错误。老师看一下

这样老师才能够快速的定位你的问题。

祝学习愉快~


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师