У меня возникла проблема при попытке доступа к атрибуту сеанса в контроллере. Я объявил свои атрибуты сеанса как таковые:
@Controller
@SessionAttributes({ WebKeys.OBJECT_SIX, WebKeys.DSP_LOGIC, WebKeys.NEW_CARD_FORM })
В каждом своем API я вызываю функцию:
@RequestMapping(value = "/apiA.do", method = RequestMethod.POST)
public String doAPIa(Model model) {
setInfo(model);
}
@RequestMapping(value = "/apiB.do", method = RequestMethod.POST)
public String doAPIb(Model model) {
setInfo(model);
}
В моем setInfo () я пытаюсь получить доступ к атрибут сеанса и добавить значение обратно в модель:
private void setInfo(Model model) throws Exception{
String populationId = // need to get from WebKeys.OBJECT_SIX session attribute
if(populationId!=null && (populationId.equals(Constants.POP_TYPE_ID))){
DisplayHelperTO helper = (DisplayHelperTO) // need to get from WebKeys.DSP_LOGIC;
NewCardNewBasicForm newCardForm = (NewCardNewBasicForm ) // need to get from WebKeys.NEW_CARD_FORM);
model.addAttribute("newCardForm", newCardForm);
model.addAttribute("dspLogic", helper);
}
}
Я попытался объявить таким образом:
private void setInfo(Model model,
@SessionAttribute(WebKeys.OBJECT_SIX) String populationId) throws Exception{
}
Однако, если я объявляю функцию таким образом, часть для вызова setInfo () в doAPIa и doAPIb будет выделена синтаксическая ошибка. Любые идеи о том, как получить доступ к атрибутам сеанса в функции? Спасибо!