跟进我的一个较早的问题,我设法让 URL 重写在我的 struts 项目中正常工作,其中 URL 之类的 URLsearch?q=blah
被转换为 query search.action?q=blah
。我们为此使用UrlRewriteFilter 。这似乎可以很好地转发到 struts(如果确保它具有与 FORWARD 的过滤器映射),但是当ParametersIntercepter
运行时它似乎会捕获每个参数两次,并在其间添加逗号。所以以下内容:
search.action?q=blah
将 Criteria 对象上的参数 q(见进一步)设置为:
[ blah, blah ]
参数设置使用ModelDriven<Criteria>
Where Criteria 是一个简单的类,其中包含要从 GET 字符串设置的一组属性。
我不知道为什么会发生这种情况。有没有人见过这样的事情?我在过滤器/拦截器方面做错了吗?
编辑:似乎ParametersInterceptor
只是设置了 ActionContext 对象中包含的参数。我不确定(也没有看到任何指示的调试消息)这些值在 ActionContext 中的设置位置。有谁愿意澄清这一切应该如何运作?