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