开发者社区 问答 正文

springmvc 转发之后不能访问图片路径

springmvc controller转发到jsp之后,访问图片的路径变了,加上了controller类的RequestMapping参数的值。
请问这是什么原因?

@Controller
 @RequestMapping("/people")
 public class PeopleAction2 {
 @RequestMapping(value="/getPeopleListInfo")
 public ModelAndView getPeopleListInfo(HttpServletRequest request,HttpServletResponse response){
 List list = peopleService.queryPeopleListInfo();
 ModelAndView mv = new ModelAndView();
 mv.setViewName("/people/getPeopleList");
 mv.addObject("listPeople", list);
 return mv;
 }
 }

这是正常访问时的路径:/hrMS/main/YHChannelApply/001.jpg。
这是调用getPeopleListInfo方法,转发之后的路径:/hrMS/people/YHChannelApply/001.jpg。
main变成controller类的RequestMappig注解的值。

展开
收起
蛮大人123 2016-02-26 17:44:51 3177 分享 版权
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    你jsp中访问那张图片用的是相对路径吧
    <img src="YHChannelApply/001.jpg" />
    你网站默认路径是main目录下,所以图片url相对路径就是/hrMs/main/YHChannelApply/001.jpg
    然后controller跳转后到了/people/getPeopleList图片url对应就成了/hrMS/people/YHChannelApply/001.jpg
    在WebContent下建立一个resources目录,把图片放进resources/img。jsp中用
    <img src="${ctx}/resources/img/YHChannelApply/001.jpg" />
    ctx是用jstl设置的值就是项目路径,一般放在jsp顶部
    <c:set var="ctx" value="${pageContext.request.contextPath}"/>

    2019-07-17 18:48:32
    赞同 展开评论
问答分类:
问答地址: