2 Replies Latest reply on Jan 8, 2007 11:54 AM by norman.richards

    conversation help needed please

    ehung

      Hi

      I'm a seam beginner so I might approach the problem in the wrong way. Please correct and help me to solve the problem.

      I have a popout class and a builder class that does the following in the click event

      PopOut p = new PopOut();
      p.begin();
      p.....

      My question is that how to retrieve the conversation Id of this newly created object.
      I need to return the conversation id to the client so that the client can open a new window.
      I assume I can do window.open(http.....jsf?conversationId=XXX)
      I guess I can't have a joined conversation because a popout can open another popout.
      So each popout should exist in its own conversation.

      @Name("popout")
      @Scope(..CONVERSATION)
      public class PopOut {

      @Create
      public String create() {...}

      @Begin
      public String begin() {...}

      public void activate() {...}

      }

        • 1. Re: conversation help needed please
          ehung

          I've been viewing the forum. Please correct me if I get seam conversation wrong. Executing a method annotated with the @begin does not start a conversation immediately. So there is no way to find out the conversation id. I have to redirect request to the popout page to solve the problem??

          And the builder class method will do the following?

          public void newInstance() {

          PopOut p = new PopOut();
          p.begin();
          p.set up the page content
          redirect

          }

          • 2. Re: conversation help needed please

            Conversation.instance().getId() would give you the conversation id, but there are other mechanisms to generation a link with a conversationId in it. Have you tried s:link or s:conversationId with a normal JSF link?