1. 找不到mapping
比较弱智的问题,忘了在对应的类上加上 @Controller 注解了
2. Model中设置的值不显示
Eclipse 自动生成的web.xml 是 2.3版本的,网上说改成2.5就可以了,我直接改成3.0,还是显示不了Model中的值,郁闷
代码
@RequestMapping("addIndex")
public ModelAndView addIndex(){
Map<String, String> model = new HashMap<>();
ModelAndView mad = new ModelAndView("addIndex", model);
String filePath = request.getParameter("filePath");
if(StringUtils.isBlank(filePath)){
return mad;
}
...
model.put("status", "successfully");
return mad;
}
本意是想如果filePath为空,则直接返回一个空的model,否则就放一个status的值。可是不管filePath有没有值,前台JSP都拿不到值。网上搜了搜,也没有能解决我的问题的答案,后来突发奇想,在实例化ModelAndView之前,就在model里设置一个值,我设了个failure. 但是不管怎么样,前台最终一直显示failure,不会显示最后的那个successfully. 猜想应该是Spring new 完 ModelAndView之后,里面model的值就不会再变了。
解决方法:
第4行 改成: ModelAndView mad = new ModelAndView("addIndex");
最后在返回之前再设置Model: mad.putAllObjects(model);
其它的以后再整理