You can't, clicking Refresh is the same as opening the URL in a new window. There is no way to distinguish that request. You want a new conversation. Design your application with this in mind.
Actually, there is a way, with a redirect:
<s:link id="createDoc" styleClass="linkNavigation" action="createDoc"><u>C</u>reate</s:link>
<navigation> <rule if-outcome="createDoc"> <begin-conversation flush-mode="MANUAL"/> <redirect view-id="/docCreate.xhtml"/> </rule>
I think your second reply was not in this topic :)
But let's back to refreshing. So what is the join="true" for? I though it was exactly for this purpose :(
My second reply shows you how to do what you want to do. My guess is that you have your begin-conversation inside a page declaration. Move it into the navigation redirect TO that page.
By the way, this is all from the /examples/wiki/ code in Seam 1.3.
Now when I get this page for the first time I get new conversation which is OK. But when I refresh browser's window, new conversation is created, altough I have join="true" set.
What's wrong, and how to get the new conversation joining with another.
Nothings wrong. This is exactly how it should behave, and is the only thing that is truly consistent with the semantics of HTTP GET.