2015-04-14 34 views
0

所以我有一个弹簧过滤器的需求,有一些网址不需要重定向,因为我们刚刚引入了响应式设计。查找并使用XML配置文件与弹簧

我想有一个XML配置是这样的:

<config> 
    <pages> 
     <url>/some/responsive/url/1</url> 
     <url>/some/responsive/url/2</url> 
     ... 
    </pages> 
</config> 

而我的过滤器看起来像这样:

protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { 
     if(!isResponsiveUrl(request.getServletPath())) { 
      response.sendRedirect(externalUrl); //redirecto to a 3th party which provide us responsiveness 
      return; 
     } 
     filterChain.doFilter(request, response); 
} 

我有,我希望把我的XML格式的资源文件夹,可以有人帮我找到一种方法来阅读这个XML并获得URL列表来实现isResponsiveUrl

春能自动找到这个配置文件,怎么样?

我不介意如果文件不是XML,它可能是一个.properties文件!

这样做的目标是,如果我们需要添加更多页面,我们可以在不重新启动应用程序的情况下更新文件。

感谢您的帮助:)

回答

0

您可以创建一个实用程序:列表,并使用@Resource在您的属性注入:

XML看起来就像这样:

<util:list id="pages"> 
    <value>/some/responsive/url/1</value> 
    <value>/some/responsive/url/2</value> 
</util:list> 

在支持Java ,只需注释该属性:

@Resource(name="pages") 
private List<String> pages; 

OBS:不要忘记包含spring-util.xsd到你的bean定义。

您可以通过Spring doc site了解更多信息。我希望我能帮到