2017-12-08 4 views
0

Wie kann ich die Objekte, die einem RequestMapping in einem Controller zugeordnet sind, durch ein anderes RequestMapping in demselben Controller aufrufen, der zur selben Ansichtsseite zurückkehrt? Vielen Dank.Zugriff auf das Modell eines anderen RequestMapping im selben Controller?

Hier ist mein Beispielcode, der in nur einem Controller verwendet wird:

@RequestMapping(value="firstMapping",method=RequestMethod.POST) 
public ModelAndView firstMapping (HttpServletRequest request) { 

    //myObject is processed here 

    ModelAndView mav = new ModelAndView(); 
    mav.setViewName("samplepage"); 
    mav.addObject("myObject",myObject); //How do I pass this object to the mapping below? 
    return mav; 
} 

@RequestMapping(value="secondMapping",method=RequestMethod.POST) 
public ModelAndView secondMapping (HttpServletRequest request) { 

    //I want to do something else here but I need the object from 
    //the mapping above. For example myObject2 is processed here 

    ModelAndView mav = new ModelAndView(); 
    mav.setViewName("samplepage"); 

    mav.addObject("myObject",myObject); 
    mav.addObject("myObject2",myObject2); 
    return mav; 
} 
+0

Warum Sie eine Kombination beider Methoden nicht zu tragen, Wenn Sie beide Daten in einer Anfrage benötigen? – mrkernelpanic

+0

mrkernelpanic, kann ich nicht, weil die beiden Methoden verschiedene Dinge verarbeiten, aber wenn ich nicht das Objekt in der ersten Steuerung auf den zweiten Controller verarbeitet, das Objekt in der ersten Methode wird weg sein, aber ich brauche das Objekt in der zweiten Methode. –

Antwort

0

In dem ersten Verfahren wird anstelle einer Ansicht Einstellung, die Sie nach dem Einstellen der attribute.Set Ansicht, die die Anforderung an die zweite Methode weiterleiten soll in der zweiten Methode. Durch die Verwendung dieser Anfrage wird nach der Verarbeitung an die zweite Methode weitergeleitet.

@RequestMapping(value="firstMapping",method=RequestMethod.POST) 
public ModelAndView firstMapping (HttpServletRequest request) { 
    Object myObject=new Object(); 
    request.setAttribute("myObject",myObject); 
    return "forward:/secondMapping"; 
} 

Sie können auch Modeland verwenden Objekt von Verfahren 1 bis 2.

+0

Thanveer, könnten Sie einen Beispielcode angeben, wie wird die Methode 2 das Objekt erhalten? Vielen Dank –

Verwandte Themen