2 qq 32392089 qq_32392089 于 2016.09.21 17:57 提问

哪位大神帮我就绝一下 Spring mvc 控制层返回方法

package com.xiaoniu.websystem.controller.assete;

import java.util.List;
import java.util.UUID;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
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.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import com.xiaoniu.websystem.entity.StorLocation;
import com.xiaoniu.websystem.service.StorageService;
//库位
@Controller
@RequestMapping("/location")
public class StorageController {
private final static Log log = LogFactory.getLog(StorageController.class);

@Autowired
private StorageService storageservice;

@RequestMapping("/locationHome")
public ModelAndView locationhome(HttpServletRequest request) {
    // 指定表示层
    ModelAndView model = new ModelAndView("/assetsManagement/location");
    // 获取所有库位
    List<StorLocation> locationlist = storageservice.getAll();
    // 数据
    model.addObject("locationlist", locationlist);
    return model;
}

@SuppressWarnings("finally")
@RequestMapping("/del")
public String delclcation(String kid, HttpServletRequest request) {
    try {
        String str = storageservice.dellocation(kid);
        request.setAttribute("InfoMessage", str);
        return "Redirect:/location/locationHome";
    } catch (Exception e) {
        e.printStackTrace();
        request.setAttribute("InfoMessage",
                "删除信息失败!具体异常信息:" + e.getMessage());
    } finally {
        return "/assetsManagement/location";
    }

}

现在需要返回到查询方法

4个回答

RaspberryMonster
RaspberryMonster   2016.09.21 17:58

return "redirect:/assetsManagement/location"

Royal_lr
Royal_lr   Ds   Rxr 2016.09.21 18:33

redirect重定向就好了,,

LM5463640
LM5463640   2016.09.21 19:01

return new ModelAndView("redirect:/gogo");
或者
return "redirect:/gogo ";

zhaofuwu
zhaofuwu   2016.09.21 19:48

大兄弟你的意思是方法执行结束就跳转到一个方法?而不跳转到页面吧?如果是这样,那楼上的三个兄弟的方法都是可以的!

还有看了一下你的代码,感觉你springMVC的姿势好像不太正规,
@RequestMapping("/locationHome")
public ModelAndView locationhome(ModelAndView model) {

List<StorLocation> locationlist = storageservice.getAll();// 获取所有库位

model.addObject("locationlist", locationlist);// 数据
    model.setViewName("/assetsManagement/location");// 指定表示层
return model;

}

你的第一个方法,这样写是同样的效果,springMVC很重要的一个特性就是参数注入,我们不需要自己去new,ModelAndView类的作用域就是request,所以我们也不需要直接使用request了,这样才可以实现解耦。

Csdn user default icon
上传中...
上传图片
插入图片