[weld-issues] [JBoss JIRA] Commented: (WELD-549) Conversation propagated by default with h:link
David Beaumont (JIRA)
jira-events at lists.jboss.org
Wed Jun 9 14:54:38 EDT 2010
[ https://jira.jboss.org/browse/WELD-549?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12534799#action_12534799 ]
David Beaumont commented on WELD-549:
-------------------------------------
I think changing the behaviour according to whether there is a long-running conversation would be confusing. Imagine a navigation bar with h:links to different parts of your site that is stored in a template or otherwise included into the current view. On views where there is not a long-running conversation these links would not include the cid; On views where there is, the cid parameter would be automatically added, possibly changing how the target page of the h:link functions.
Suppose a site has a search list page and an entity home page. The entity home page has a long-running conversation so users can save changes. This means that an h:link back to the list page propagates the conversation. The user then clicks on a second entity, but is very confused to see the first entity they just looked at again, because the conversation has propagated right round a loop of views. Since I am waiting for a working JBAS6 to test on, my understanding of how you would write a CDI crud application is probably lacking.
Changing the behaviour with Seam would be a bit strange too - adding Seam to your CDI application could make it function differently, perhaps wrongly, without having changed a single line of code.
> Conversation propagated by default with h:link
> ----------------------------------------------
>
> Key: WELD-549
> URL: https://jira.jboss.org/browse/WELD-549
> Project: Weld
> Issue Type: Bug
> Components: Web Tier integration (JSF, JSP, EL and Servlet)
> Affects Versions: 1.0.1.Final
> Environment: GlassFish Server Open Source Edition 3.0.1 on Mac OS 10.6 and Windows 7. WELD-000900 1.0.1 (SP2)
> Reporter: David Beaumont
> Assignee: Nicklas Karlsson
> Fix For: 1.0.2.CR1
>
> Attachments: CdiConvoBug.war
>
>
> I created a long running conversation by running a method on a conversation scoped bean:
> private boolean initialized;
> public void init() {
> if(initialized) return;
> conversation.begin();
> initialized = true;
> }
> From a facelets page using the JSF2 event system:
> <f:metadata>
> <f:event type="preRenderView" listener="#{convoBean.init}" />
> </f:metadata>
> If a conversation has been made long-running, the h:link tag will produce links with the conversation query parameter, thereby propagating the conversation whether that was what you wanted or not.
> I.e:
> <p>Link: <h:link outcome="page2.xhtml" value="a link" /></p>
> produces
> <p>Link: <a href="/CdiConvoBug/page2.jsf?cid=3">a link</a></p>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the weld-issues
mailing list