【问题标题】:@requestmapping and ModelAndView@requestmapping 和 ModelAndView
【发布时间】:2018-07-07 10:39:15
【问题描述】:

您好,请帮助我处理 Spring RequestMapping。我有这样的页面:

<form action="/add_photo" enctype="multipart/form-data" method="POST">
                Photo: <input type="file" name="photo">
                <input type="submit" />
     </form>

和这样的控制器:

@Controller
@RequestMapping("/")
public class MyController {

    private Map<Long, byte[]> photos = new HashMap<>();


    @RequestMapping("/")
    public String onIndex() {
        return "index";
    }

    @RequestMapping(value = "/add_photo", method = RequestMethod.POST)
    public ModelAndView onAddPhoto(@RequestParam MultipartFile photo) {
        if (photo.isEmpty()) {
            throw new PhotoErrorException();            
        }

        try {
            long id = System.currentTimeMillis();
            photos.put(id, photo.getBytes());

            ModelAndView model = new ModelAndView();
            model.addObject("photo_id", id);
            model.setViewName("result");
            return model;
        } catch (IOException e) {
            throw new PhotoErrorException();
        }
    }
}

方法“onIndex”正在工作,但 onAddPhoto 似乎没有,当我单击带有 URL“/add_photo”的按钮时,它给了我 404 而不是页面“结果”

【问题讨论】:

  • 显示表单时地址栏中显示的 URL 是什么?提交表单后地址栏中显示的 URL 是什么?
  • 提交表单后显示“/add_photo”
  • 提交之前呢?
  • 那么,如果@RequestMapping("/") 的完整路径是/photos/,那么@RequestMapping(value = "/add_photo" 的完整网址应该是什么?应该是/add_photo,还是应该是/photos/add_photo?你认为这个/photosprefix 是什么,它来自哪里?

标签: spring spring-mvc request-mapping modelandview


【解决方案1】:

在你的jsp页面中使用pageContext作为:

<form action="${pageContext.request.contextPath}/add_photo" enctype="multipart/form-data" method="POST">
Photo: <input type="file" name="photo">
            <input type="submit" />
 </form>

更多详情:Check this

【讨论】:

猜你喜欢
  • 2018-12-27
  • 2019-07-17
  • 1970-01-01
  • 1970-01-01
  • 2015-06-22
  • 2015-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多