]
asookazian updated JBSEAM-4296:
-------------------------------
Attachment: TestApplicationMetaData.xhtml
add more details regarding @End(beforeRedirect=true) in Seam ref doc
--------------------------------------------------------------------
Key: JBSEAM-4296
URL:
https://jira.jboss.org/jira/browse/JBSEAM-4296
Project: Seam
Issue Type: Feature Request
Components: Documentation Issues
Affects Versions: 2.1.2.GA
Environment: Windows XP
JBoss EAP 4.3
JBDS 2.0.0.CR2
Reporter: asookazian
Priority: Minor
Attachments: TestApplicationMetaData.xhtml
Original Estimate: 30 minutes
Remaining Estimate: 30 minutes
Need to specify that a return type of String or proper configuration in pages.xml is
required in order for @End(beforeRedirect=true) to work properly. In my use case, I am
deleting a row from my dataTable and after redirect to the same JSF page (xhtml), the row
still displayed in the dataTable even though the manual flush of SMPC was successful in my
save() method and the delete tx was successful in the database.
Here is the verbage for @End in Seam ref doc 2.1.2.GA, section 31.4. Annotations for
context demarcation:
"beforeRedirect — by default, the conversation will not actually be destroyed until
after any redirect has occurred. Setting beforeRedirect=true specifies that the
conversation
should be destroyed at the end of the current request, and that the redirect will be
processed in a new temporary conversation context."
Recommended modification:
"beforeRedirect — by default, the conversation will not actually be destroyed until
after any redirect has occurred. Setting beforeRedirect=true specifies that the
conversation
should be destroyed at the end of the current request, and that the redirect will be
processed in a new temporary conversation context. Please return a String which specifies
the JSF page you wish to have JSF redirect to (e.g. '/foo.xhtml'). Otherwise, if
you wish to return void, please configure your pages.xml file accordingly to redirect to
the appropriate page.
Here is an example to use with return type void:
<page view-id="/foo.xhtml">
<navigation from-action="#{bar.save}">
<redirect view-id="/foo.xhtml"/>
</navigation>
</page>
If you do not do one of the above, you may experienced unwanted behavior when using
@End(beforeRedirect=true). This means that the LRC will be demoted to temporary
conversation and the conversation will survive the redirect and thus your @Factory method
will not get called again. You will then need to set the List to null manually in your
code in order to force the @Factory method to re-execute after redirect."
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: