Welcome back to Shale David! :-)
Sean
On 7/27/06, David Geary <[EMAIL PROTECTED]> wrote:
You have to set up the dialog data yourself. One way to do that is with an
action state as the starting state for a dialog; for example:
<dialog name="Payment" start="Setup">
<action name="Setup"
method="#{dialogLauncher.setupPaymentDialog}">
<transition outcome="success"
target="Payee Information"/>
</action>
<!-- Payee Information -->
<view name="Payee Information"
viewId="/billpay/payment/wizard.jsp">
<transition outcome="next"
target="Payment Method"/>
</view>
...
</dialog>
</dialog>
The Setup state is an action state, so it invokes
dialogLauncher.setupPaymentDialog(), which returns a string that Shale
immediately uses as an outcome.
Here's the method:
public class DialogLauncher extends AbstractFacesBean {
public String setupPaymentDialog() {
// Create billpay data
billpayData = new BillpayData();
// Set dialog data with the handy setValue method
// from org.apache.shale.view.AbstractFacesBean
setValue("#{dialog.data}", billpayData);
// This outcome takes us to the payment dialog's
// first view state
return "success";
}
}
In my views, I have fields wired to my dialog.data:
<h:inputText id="paymentAmount"
value="#{dialog.data.paymentAmount}"/>
david
2006/7/27, Sean Comerford <[EMAIL PROTECTED]>:
>
> I've had no problem setting up a dialog but I can't figure out how to use
> the dialog scoped data. I need a simple example I guess...
>
> So assuming the following dialog:
>
> <dialog name="testDialog" start="step1">
> <view name="step1" viewId="/step1.jsp">
> <transition outcome="next" target="step2" />
> </view>
> <view name="step2" viewId="/step2.jsp">
> <transition outcome="prev" target="step1" />
> <transition outcome="exit" target="exit" />
> </view>
> <end name="exit" viewId="/done.jsp" />
> </dialog>
>
> I want to have a text input with a value bound to #{dialog.data.name} in
> step1.jsp so I can refer to it in step2.jsp
>
> But if, in step1.jsp, I just try:
>
> <af:inputText value="#{dialog.data.name} />
>
> The input doesn't show up because the binding doesn't exist and clearly I
> can't access it again later :)
>
> So it seems I need a backing bean to hold name but I'm not sure what to
> call
> it / how to point to it.
>
> Can someone dumb this down for me?
>
> --
> Sean Comerford, Software Engineer
> Major League Baseball Advanced Media
> [EMAIL PROTECTED] ~ 212.485.4508
>
>
>
>
> ************************
> MLB.com: Where Baseball is Always On
>
>
>