Для научных и тестированияSpring MVC, проверяя содержание @SessionAttributes до и после status.setComplete()
У меня есть следующие:
@Controller
@RequestMapping(value="/deportista")
@SessionAttributes(value={"deportistaRegistrar", "deportistaActualizar", "collections"})
public class DeportistaController {
Значения для каждого ключа, назначенного в @SessionAttributes
заселены позже
Я хочу знать, как я могу проверить данные, сохраненные в весенней сессии через @SessionAttributes
у меня есть три- ред
@RequestMapping(value="/{id}/actualizar.htm", method=RequestMethod.POST)
public String actualizarPerson(@Validated @ModelAttribute("deportistaActualizar") Deportista deportista,
BindingResult result,
SessionStatus status,
HttpSession session){
...
logger.info("actualizarPerson - Before status.setComplete();");
checkHttpSession(session);
status.setComplete();
logger.info("actualizarPerson - After status.setComplete();");
checkHttpSession(session);
...
}
private void checkHttpSession(HttpSession session){
logger.info("checkHttpSession");
Enumeration<String> enumSession = session.getAttributeNames();
while (enumSession.hasMoreElements()) {
String attributeName = enumSession.nextElement();
logger.info("{}", attributeName);
Object object = session.getAttribute(attributeName);
if(object==null)
logger.info("{} is null", attributeName);
else
logger.info("{} is NOT null", attributeName);
}
}
Даже когда status.setComplete();
была вызвана или казнены я вижу одни и те же ключи и значения, как не пустой или удалить, практически тот же результат до вызвать status.setComplete();
. Итак, чего-то не хватает или неправильно.
Для исследований и испытаний, как я мог видеть ключи/данные до и после выполнения status.setComplete();
? Конечно, если после status.setComplete();
должно быть пусто или не существует, и этого не происходит, как ожидается.
Я прочитал, как ссылка следующее: Understanding Spring MVC Model and Session Attributes
Только то, что я думал. Он обрабатывается Spring после завершения выполнения метода обработчика –