Spring doc est la ressource ultime pour des questions comme celle-ci. De plus, vous pouvez télécharger le code de la bonne version à partir de github, et déboguer pour obtenir une réponse. Quant à la question, consultez ici http://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/mvc.html#mvc-redirecting-redirect-prefix, ou vérifier le code source de RedirectView de classe ci-dessous (applicable au printemps 4.1.0):
protected void appendQueryProperties(StringBuilder targetUrl, Map<String, Object> model, String encodingScheme)
throws UnsupportedEncodingException {
// Extract anchor fragment, if any.
String fragment = null;
int anchorIndex = targetUrl.indexOf("#");
if (anchorIndex > -1) {
fragment = targetUrl.substring(anchorIndex);
targetUrl.delete(anchorIndex, targetUrl.length());
}
// If there aren't already some parameters, we need a "?".
boolean first = (targetUrl.toString().indexOf('?') < 0);
for (Map.Entry<String, Object> entry : queryProperties(model).entrySet()) {
Object rawValue = entry.getValue();
Iterator<Object> valueIter;
if (rawValue != null && rawValue.getClass().isArray()) {
valueIter = Arrays.asList(ObjectUtils.toObjectArray(rawValue)).iterator();
}
else if (rawValue instanceof Collection) {
valueIter = ((Collection<Object>) rawValue).iterator();
}
else {
valueIter = Collections.singleton(rawValue).iterator();
}
while (valueIter.hasNext()) {
Object value = valueIter.next();
if (first) {
targetUrl.append('?');
first = false;
}
else {
targetUrl.append('&');
}
String encodedKey = urlEncode(entry.getKey(), encodingScheme);
String encodedValue = (value != null ? urlEncode(value.toString(), encodingScheme) : "");
targetUrl.append(encodedKey).append('=').append(encodedValue);
}
}
// Append anchor fragment, if any, to end of URL.
if (fragment != null) {
targetUrl.append(fragment);
}
}
En bref, le printemps fait pour vous si vous savez où mettre les valeurs .
merci, mais je ne suis pas sûr si le printemps le fait automatiquement ou non, quelqu'un d'expert avec le printemps peut-il nous dire s'il vous plaît? –
bien, essayez-le ... – Bozho
"Essayer" est une très mauvaise méthode. Cela pourrait marcher d'une façon dans la version/configuration qu'il utilise, et travailler différemment sur un autre (comme en production). –