I have a page that has the following requirements:
* accessible from a GET request
* begins a conversation
* initializes a component
To do this, I created a method in a SFSB with conversational scope as follows:
@Create
| @Begin(flushMode=FlushModeType.MANUAL)
| public void createTicket() {
| jobTicket = new JobTicket();
| jobTicket.setTitle("Title");
| }
The jobTicket is outjected as follows:
@In(required=false) @Out
| private JobTicket jobTicket;
The XHTML source for the page:
<s:decorate id="titleDecorator" template="/decorateField.xhtml">
| <ui:define name="label">#{messages.Title}</ui:define>
| <h:inputText id="title" value="#{selectedJobTicket.title}" size="80"
required="true" autocomplete="off"/>
| </s:decorate>
|
I have nothing in pages.xml that refers to the rendered page. When the page is
rendered, the jobTicket appears to be uninitialized- the value for title is not
displayed. However, if I look at the conversation in the debug page, the
jobTicket object is there, and 'title' is populated with the correct value.
If I change '@Create' to '@Factory("jobTicket")', the page renders as expected-
the value for title is displayed. I don't want to use @Factory, because in
another bean I want to outject a different jobTicket into a different scope.
Can someone explain to me why there's a difference in behavior? I must be
missing something fundamental here...
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4092745#4092745
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4092745
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user