Hello All,

I'm relatively new to Struts 2 and have a few questions as far as how to lay 
out a form correctly.

I have the following scenario:

1. User is presented a form. (addData.jsp)
2. User submits form, we go off to an action to add form information to the 
database. (SubmitData.action)
3. We send the user to a page that displays information about the data they 
just entered. (viewData.jsp)

The problem I was initially having was that, after step 2, I was using the dispatcher result type to send the user to their view. SubmitData.action was providing viewData.jsp with the necessary stack values to fill in the page with the appropriate data.

This was problematic, because at this point, due to the forward, the browser was still at SubmitData.action, and refreshing the view caused the data to be submit again. To fix this, I tried changing the result type to redirect to the jsp page instead. This fixed the problem of the user refreshing the page. The browser was now at viewData.jsp, so refreshing the page didn't submit the data again.

However, because I had redirected, I no longer had the value stack the SubmitData.action provided, so I arrived at the view with no data. I can come up with ways to work around this, but none of them feel right. For instance, I can pass the necessary keys to viewData.jsp result like so:

<action name="SubmitData" class="action.SubmitDataAction">
        <result name="success">/viewData.jsp?dataId=%{dataId}</result>
</action>

And then in the jsp page have action tags which gather the correct objects and 
put them on the stack:

<s:action name="GetData" namespace="/" var="data">
        <s:param name="dataId" value="%{dataId}" />
</s:action>

But again, this seems messy. What do people recommend? I know this has got to 
be a very frequent case, I'm just not sure the best way to handle it.

Thanks,
Tim

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org

Reply via email to