【发布时间】:2015-10-26 18:30:06
【问题描述】:
预期: 当我尝试预订时,由于价格变化并抛出低于价格变化异常,预订失败。
然后我需要在事件中捕获该错误并将请求重定向到上一页并在页面顶部显示错误消息。
根据我的以下逻辑,我可以将请求重定向到上一页,同时抛出价格变化异常,但问题是我不能 在上一页显示我的错误信息(您的预订价格已更改,请选择其他价格)。
任何人都可以帮助我。提前致谢。
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>
【问题讨论】:
-
试试flashscope:请参考sunmingtao.blogspot.in/2012/10/…
标签: java spring spring-webflow spring-webflow-2