【问题标题】:spring mvc cannot mapping request to other view namespring mvc 无法将请求映射到其他视图名称
【发布时间】:2018-01-19 15:06:56
【问题描述】:

我在 spring mvc 中有一个控制器:

@Controller
@RequestMapping(value = "/advertiser")
public class AdvertiserController {


@RequestMapping(value="/add2", method = RequestMethod.GET)
public ModelAndView add2(ModelAndView mav){


        mav.addObject("command", new Advertiser());
        mav.setViewName("advertiser/add");

        return mav;
}
}

我的视图解析器:

<bean id="viewResolver"
  class="org.springframework.web.servlet.view.InternalResourceViewResolver"
  p:prefix="/WEB-INF/"
  p:suffix=".jsp" />

您可能会看到,我已将请求映射到 /advertiser/add2 url,并且我想使用名为 add.jsp (advertiser/add) 的视图来提供它。但是,当运行 Web 应用程序时,它总是显示 add2.jsp (advertiser/add2) 页面。我的 jsp 视图在 /WEB-INF/advertiser 目录中。

我在这里做错了什么?

【问题讨论】:

  • 尝试清理您的项目并重建它
  • 一点帮助都没有 :( 我什至重启了我的机器。
  • 清除浏览器缓存怎么样?或者,也许您应该尝试在私人模式下。我认为您的代码似乎正确

标签: java spring jsp spring-mvc


【解决方案1】:

我认为您的网址映射不正确。 试试这个。从 setViewName 中删除广告商。

    @Controller
@RequestMapping(value = "/advertiser")
public class AdvertiserController {
@RequestMapping(value="/add2", method = RequestMethod.GET)
public ModelAndView add2(ModelAndView mav){


        mav.addObject("command", new Advertiser());
        mav.setViewName("add");

        return mav;
}
}

【讨论】:

  • 按照您的建议,更改后仍显示 add2.jsp 视图。在我的 WEB-INF 目录中,不仅有广告商,还有很多目录。我在 viewResolver 中的前缀,我只是定义了“/WEB-INF”,所以我认为需要“advertiser/add”,将其更改为“add”,我认为 spring 将指向 WEB-INF/add.jsp。
猜你喜欢
  • 2014-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-20
相关资源
最近更新 更多