2015-04-14 67 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瞭解更多信息。我希望我能幫到