Attentes: Lorsque j'essaie de faire une réservation, la réservation a échoué en raison du changement de prix et du lancement en dessous de l'exception de changement de prix.Rediriger Message d'erreur dans le flux Web de printemps
Ensuite, je dois capturer ces erreurs dans l'événement et rediriger la demande à la page précédente et afficher le message d'erreur en haut de la page.
Selon mon ci-dessous la logique que je peux en mesure de rediriger la requête à la page précédente, tout en jetant exception changement de prix, mais la question est que je ne peux pas pouvoir afficher à mon message d'erreur (Votre prix de réservation a été changé, s'il vous plaît choisissez un autre) sur la page précédente.
Tout le monde peut m'aider. Merci d'avance.
BookAction.java
public class BookAction {
private static final String PRICE_CHANGED_ERROR = "Your booking price has been changed, please choose another";
public Event book(RequestContext context) {
try {
// Booking attempt
// Consider booking attempt failed and throwing price change exception
}catch (PriceChangeException priceChangeException) {
return handlePriceChange(context);
}
}
public Event handlePriceChange(RequestContext context) {
Errors pageErrors = getPageErrors(context);
if (true) { // Consider if its true and returning new Event "searchPage"
pageErrors.reject(PRICE_CHANGED_ERROR);
return new Event(this, "searchPage");
}
return error();
}
}
booking.xml
<webflow:flow>
<webflow:action-state id="book">
<webflow:evaluate expression="bookAction.book" />
<webflow:transition on="success" to="confirm" />
<webflow:transition on="error" to="handleFrd" />
<webflow:transition on="searchPage" to="searchPage" />
</webflow:action-state>
<webflow:end-state id="searchPage" view="externalRedirect:#{flowScope.bookState.searchResultURI}" />
</webflow:flow>
essayer avec flashscope: s'il vous plaît se référer http://sunmingtao.blogspot.in/2012 /10/request-flash-view-scope-in-spring.html –