通过ModelAndView传参,结果在浏览器上显示404错误,一下是错误信息,跳转目标页面名为success.html
后端相关代码
前端相关代码
报错信息
代码没有报错,就是不知道哪里出了问题,希望能帮忙解决一下
看看报错这个页面地址栏的内容
不知道你这个问题是否已经解决, 如果还没有解决的话:Spring搭建的后台一般分为分发功能的Controller层,逻辑判断的Service层,数据库交互的Dao层。ModelAndView 一般在Controller层作为结果类型返回,其内部的view部分指定返回的页面,model指定返回的参数,以下是示例代码:
//指定访问此接口方式和地址
@RequestMapping(method=RequestMethod.GET ,value = "/getShareInfo")
public ModelAndView getShareInfo(Integer liveBroadcastId,String language,Integer userId) {
//指定页面名称为share
ModelAndView mv = new ModelAndView();
ResultTemplateModel<Object> liveModel = liveBroadcastService.getLiveById(liveBroadcastId, language, userId);
//得到结果对象
LiveDetailInfoModel liveInfo = (LiveDetailInfoModel) liveModel.getData();
//从结果对象中取出参数放入 ModelAndView 中
mv.addObject("replayName", liveInfo.getReplayName());
mv.addObject("startPlayTime()", liveInfo.getStartPlayTime());
mv.addObject("address", liveInfo.getAddress());
mv.addObject("attentionState", liveInfo.getAttentionState());
mv.setViewName("share");
return mv;
}
在springMVC.xml中的配置
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 给view返回的指定页面名称添加前后缀 -->
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
</bean>
指定的视图名称为share,在返回之前,InternalResourceViewResolver会加上前后缀,也就是找到/WEB-INF/views/share.jsp
这个页面,然后将设置在ModelAndView中的参数拼入到share.jsp中,JSP页面中以 JSTL表达式来接收在ModelAndVIew中设置的参数,这个过程也就是ModelAndView的渲染过程。
参考:
Model、ModelMap和ModelAndView的使用详解