2011-02-24 4 views
1

Je suis en train de deux attributs à un modèle de modèle Springattributs du modèle Releasing

myModel.setValue1 
myModel.setValue2 //Now setting this to request 
request.setAttribute("All_Values", myModel) 

Faire un appel de service sous bloc catch try. Si une exception est reçue, je souhaite libérer le Value2 de mon modèle et ne définir que Value1 à ma demande et refaire un appel de service.

try{ 
service call 
... 
}catch(Exception e){ 
myModel.release Value2 and have only Value1 
request.setAttribute("All_values", myModel) //This has only Value1 
service call again 
} 

Ceci est juste un exemple si je pouvais publier quelques valeurs si Exception était reçu. J'ai de nombreuses valeurs dans mon modèle et pas seulement deux, donc définir les attributs individuellement à la demande serait fastidieux.

Est-ce que cela pourrait être fait?

+0

Pourquoi avez-vous besoin d'appeler 'request.setAttribute()'? – axtavt

+0

@axtavt: J'envoie la demande avec d'autres paramètres au service. La requête est également utilisée pour obtenir une session de portlet, et d'autres choses. –

Répondre

0

Je pense que vous devez d'abord faire la logique du contrôleur et définir le modèle attribue à la fin de la méthode du contrôleur, après tout sauf la capture, etc.

Vous pouvez enregistrer le modèle des attributs dans une carte, où vous pouvez retirez-les si nécessaire, et juste avant le retour du contrôleur faire:

model.addAllAttributes(attributesMap);