Ultimately I want my form not to be submitted.
And here is the deailed explanation from one of the seam article.
Notice that we switched from using s:button to h:commandButton . Remember s:button and s:link perform a GET request without the POST. If we used the seam components we wouldn't post our changes back to the server. Technically, we could use a s:button for the cancel button since we don't care whether the changes are posted back. Notice that we use the immediate=
trueattribute for the command button since this bypasses the validation steps which we don't care about since we are cancelling changes.
And here is nice discussion for the problem I was facing: