2012-05-22 5 views
-1

Я сохраняю объект (комбинацию значений контроллера формы) в другой такой же переменной перед изменением значений, чтобы у меня было два объекта: старый и обновленный. Теперь я хочу получить доступ к обоим из них одним способом. Является ли это возможным. Это похоже на доступ к локальной переменной какого-либо другого объекта, но возможно ли использовать атрибут @model.Доступ к одной модели несколькими способами

@RequestMapping(value = "/detail", method = RequestMethod.GET) 
public ModelAndView getDetail( 
Detail detail; 
detail = someObj.getDetail(name); 
Detail oldDetail = detail; 
oldDetails(detail); 
. 
. 
. 
} 

// oldDetails метод

public Detail oldDetails(@ModelAttribute("oldDetail") Detail oldDetail){ 

//it works fine and print the desired results 

System.out.println("Old value of the field is :"+oldDetail.toString()); 
return oldDetail; 
} 

Теперь я хочу открыть "oldDetail" атрибут модели в другой метод:

@RequestMapping(value = "/detail", method = RequestMethod.POST) 
public String saveDetail(
@ModelAttribute("Detail") Detail Detail,BindingResult result, 
HttpServletRequest request) { 

System.out.println("updated Detail = "+ Detail.toString()); 

//old detail is model attribute decleared in above method and i want 
//to print. How should i access oldDetail. 

//System.out.println("Old values are :"+oldDetail.toString()); 
. 
. 
. 
} 

Предложения/решения будут высоко оценены. Заранее спасибо

ответ

0

Я не очень уверен, что ваша проблема и чего вы хотите достичь. Но на основании некоторых предположений мое предложение состоит в том, что

, определяющий общую аннотированную функцию @ModelAttribute в вашем контроллере, может решить вашу проблему. Он предоставит вам ту же модель в разных функциях контроллера.

Для уточнения пожалуйста, обратитесь к этому вопросу.

Question about how to use @ModelAttribute annotation

Надеется, что это помогает вам

Смежные вопросы