Spring MVC Доступ к атрибуту сеанса в функции в классе контроллера - PullRequest
1 голос
/ 07 августа 2020

У меня возникла проблема при попытке доступа к атрибуту сеанса в контроллере. Я объявил свои атрибуты сеанса как таковые:

@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 будет выделена синтаксическая ошибка. Любые идеи о том, как получить доступ к атрибутам сеанса в функции? Спасибо!

...