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