所以我需要一个弹簧过滤器,其中有一些不需要重定向的URL,因为我们刚刚引入了响应式设计。
我想要一个像这样的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 :(得分:0)
您可以创建一个util:列表并使用@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上了解更多信息。
我希望我已经帮助了