学习SpringMVC时遇到的一些问题

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);

其它的以后再整理

posted @ 2016-09-06 13:41  一剑侵心  阅读(414)  评论(0编辑  收藏  举报