2016-03-03 1 views
0

Je suis nouveau à Spring framework learning Printemps mvc et le flux web de printemps. Je suis tombé sur une expression d'évaluation dans l'état d'actionÉvaluer l'expression dans le flux web de printemps

<evaluate expression = " requestParameters.ishotelbooking" result="flowScope.hotelbooking" /> 

Impossible de comprendre ce qui se passe réellement ?? Et encore une chose je comprends que nous assignons la portée de flux pour l'objet hotelbooking mais comment le cadre comprend l'hotelbooking est l'objet de la classe d'hôtel c.-à-d. Comment nous pouvons comprendre le type d'objet ici .. quelqu'un peut me guider .. Merci d'avance

Répondre

2

Cette évaluation expression prend le paramètre de requête « isHotelBooking » et la copie dans un « Hotelbooking » variable qui sera disponible dans l'ensemble du flux (flowScope)

Ainsi, lorsque l'état d'action est appelée, probablement après une transition , dans une requête comme "flowTransition? isHotelBooking = true" le paramètre de demande "isHotelBooking" est uniquement disponible dans la requête. L'élément d'évaluation copie donc cela dans une autre variable disponible dans l'ensemble du flux. Fondamentalement, l'extension du champ de la variable de demande d'écoulement portée

FYI ce pourrait être remplacé par

<set name="flowScope.hotelBooking" value="requestParameter.isHotelBooking"/> 

[UPDATE]

Pour le type, l'élément d'évaluer a un attribut de type de résultat cela peut être utilisé pour définir plus précisément le type de résultat. si non spécifié Webflow suppose qu'il est de type Object.

La classe/le type n'est pas toujours important car l'évaluation est effectuée au moment de l'exécution et en utilisant EL. Bien que cela soit utile si vous utilisez un IDE (comme IntelliJ ou STS), vous pouvez profiter de l'auto-complétion.

+0

Merci beaucoup .. pouvez-vous s'il vous plaît clarifier mon autre doute aussi .. comment le type de classe de hotelbooking est compris ici ?? – ani

+0

mis à jour la réponse originale – rptmat57