专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Java教程 » spring架构:Spring架构增强MultiActionController(下) »正文

spring架构:Spring架构增强MultiActionController(下)

来源: 发布时间:星期四, 2009年1月8日 浏览:14次 评论:0
  5.实现MultiMethodControllerUrlHandlerMapping

  我们在上面讨论过了如何实现MultiMethodControllerUrlHandlerMapping要实现为具体代码我们可以通过扩展org.springframework.web.servlet.handler.AbstractUrlHandlerMappingAbstractUrlHandlerMapping扩展了org.springframework.web.context.support.WebApplicationObjectSupportWebApplicationObjectSupport可以获得当前WebApplicationContext

  1. 重写initApplicationContext思路方法在context中查找所有MultiActionController类型bean,把MultiActionControllerurlMethodmappings属性key值为key值MultiActionController例子为键值键值对添加到个urlMap中

public MultiMethodControllerUrlHandlerMapping extends AbstractUrlHandlerMapping...{
  private Map urlMap = HashMap;
  public void initApplicationContext throws BeansException ...{
    initialUrlMap;
  }
  protected void initialUrlMapthrows BeansException...{
    //找查所有MultiMethodController类型和子类型bean到个map中,bean Name为key值 ,bean例子为value值
    Map matchingBeans = BeanFactoryUtils.beansOfTypeIncludingAncestors(
        getWebApplicationContext,
        MultiMethodController., true, false);
    List controllers = null;
    (!matchingBeans.isEmpty)...{
      controllers = ArrayList(matchingBeans.values);
      for( i = 0; controllers != null && i < controllers.size;i)...{
        MultiMethodController controller = (MultiMethodController)controllers.get(i);
        Properties urlPros = controller.getUrlMethodmappings;
        Iterator itr = urlPros.keySet.iterator;
        for(;itr.hasNext;)...{
          String url = (String)itr.next;
          urlMap.put(url,controller);
        }
      }
    }
}


0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: