I wonder if someone faced this behavior before, wheter this is "known" or wanted. XWork ParametersInterceptor Code:
protected boolean isAccepted(String paramName) {
if (!this.acceptedParams.isEmpty()) {
for (Pattern pattern : acceptedParams) {
Matcher matcher = pattern.matcher(paramName);
if (!matcher.matches()) {
return false;
}
}
}
return acceptedPattern.matcher(paramName).matches();
}
Taking a param list like "id, anotherid" which are both "accepted" and
configured in my interceptor stack.
But using the Code above, none of them will ever be accepted, because the
pattern list is traversed and matched against the actual parameter.
first run: id matches id -> OK
second run: anotherid does not match id -> FALSE
Although the Pattern list does contain a pattern which may result in a "true"
match, false will be returned if there are more than 2 patterns in the list
(order doesnt matter).
My parameter is not set.
Is this indented behavior? Or something wrong here?
thx
Torsten
PS: Using struts 2.0.11.x, XWork 2.0.5
--
Bitte senden Sie mir keine Word- oder PowerPoint-Anhänge.
Siehe http://www.gnu.org/philosophy/no-word-attachments.de.html
Really, I'm not out to destroy Microsoft. That will just be a
completely unintentional side effect."
-- Linus Torvalds
smime.p7s
Description: S/MIME cryptographic signature

