[
https://issues.apache.org/struts/browse/SHALE-423?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_40542
]
Ruben Stranders commented on SHALE-423:
---------------------------------------
This bug also affects version 1.0.4. I believe shale-usecases-1.0.4 is not
working properly because of this. Also, it seems that this bug is related to
[SHALE-386]. Try the following example (the simplest I could think of):
<dialog name="dummy" start="start">
<view viewId="/page.jsp" name="start">
<transition outcome="success" target="exit" />
<transition outcome="cancel" target="exit" />
</view>
<end name="exit" />
</dialog>
<dialog name="dummy wrapper" start="start">
<subdialog name="start" dialogName="dummy">
<transition outcome="success" target="success" />
<transition outcome="cancel" target="cancel" />
</subdialog>
<end name="success" viewId="/success.jsp" />
<end name="cancel" viewId="/cancel.jsp" />
</dialog>
Indeed, the view is sent back to /page.jsp after pushing the 'success' button.
If I push again, the view is correctly sent to success.jsp. Oddly enough, I
only have to push the 'cancel' once. After a little experimenting, it seems
that the order in which the transitions are defined whithin the <subdialog>
determines whether the button has to be clicked twice. Try swapping the
'success' and 'cancel' outcomes within the <subdialog> of 'dummy wrapper'. Now
the success button works, but the cancel button doesn't.
> Subdialog not returning to calling dialog
> -----------------------------------------
>
> Key: SHALE-423
> URL: https://issues.apache.org/struts/browse/SHALE-423
> Project: Shale
> Issue Type: Bug
> Components: Dialog
> Affects Versions: 1.1.0-SNAPSHOT
> Environment: Windows XP, Eclipse 3.2
> Reporter: Per Jansson
>
> When calling a subdialog from any other dialog, the sub dialog does not
> return attention to the calling dialog. In my example use case a common
> confirm page is to be shown (using subdialog) before returning to calling
> dialog and continue.
> ......
> ......
> <action name="prepareConfirmTransferAction"
> method="#{performTransferUseCaseBean.prepareConfirmTransfer}">
> <transition outcome="success"
> target="confirmTransferSub"/>
> <transition outcome="failure"
> target="performTransferView"/>
> </action>
> <subdialog name="confirmTransferSub"
> dialogName="common.confirm">
> <transition outcome="confirm"
> target="executeTransferAction"/>
> <transition outcome="back"
> target="performTransferView"/>
> <transition outcome="cancel"
> target="cancelTransferEnd"/>
> </subdialog>
> <action name="executeTransferAction"
> method="#{performTransferUseCaseBean.executeTransfer}">
> <transition outcome="success"
> target="receiptTransferView"/>
> <transition outcome="failure"
> target="confirmTransferView"/>
> </action>
> ......
> ......
> <dialog name="common.confirm" start="confirm">
> <view name="confirm"
> viewId="/transfer_register_confirmtransfer.jsp">
> <transition outcome="back" target="dummyEnd"/>
> <transition outcome="confirm" target="dummyEnd"/>
> <transition outcome="cancel" target="dummyEnd"/>
> </view>
> <end name="dummyEnd" viewId="/jsp/common/dummy.jsp"/>
> </dialog>
> If transition from view "confirm" is "confirm" the page flow ends up on view
> "/jsp/common/dummy.jsp" instead of returning to the calling dialog and action
> "executeTransferAction".
> For more information:
> http://www.nabble.com/Shale-sub-dialog-tf3376354.html#a9399479
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.