[jboss-user] [JBoss Seam] - Re: Trinidad PPR/Ajax and Seam

chane do-not-reply at jboss.com
Tue May 1 14:34:35 EDT 2007


"smithbstl" wrote : Thanks Chris, I have it most of the way working except for a couple of issues.
  | 
  | 1.  When i use a commandLink to open the dialog, I can't get PPR to refresh the inputText on the orginal page.  I keep getting this message
  | 
  | ERROR [STDERR] May 1, 2007 9:11:57 AM org.apache.myfaces.trinidadinternal.renderkit.core.ppr.PPRResponseWriter$PPRTag finish
  |   | WARNING: No PPR-capable id found for elements of CoreInputText[UIXEditableFacesBeanImpl, id=customer_input]. This component has not written-out an id attribute.
  | 
  | customer_input is the inputText I wish to pass the value from the dialog back to.
  | 
  | Here is the relevant part of the page
  | <tr:inputText id="customer_input" 
  |   |                              value="(Empty)" 
  |   |                              label="Enter New Customer:" 
  |   |                              partialTriggers="dialog_id"/>
  |   | <s:conversationPropagation>
  |   |    <tr:commandLink id="dialog_id" 
  |   |                               text="find Customer" 
  |   |                               action="dialog:chooseCustomer" 
  |   |                               useWindow="true" windowHeight="400" 
  |   |                               windowWidth="400" partialSubmit="true"/>
  |   | </s:conversationPropagation>
  | 

I use a returnListener on my command link.  That is what sets the value on my backing bean.  I then have the backing bean provide the value to the input box.  That might be it?  If there isn't a backing bean on the value, how is the framework going to know what to update (also, don't using the binding attribute on inputbox - will not work - there is another thread talking about this).

As for the error, I don't know.  You might ask on the trinidad list (which is now the myfaces list since it got "promoted").

Also, I have not used the <s:conversationPropagation/> tag.  If you use this, does it mean you don't have to have the custom ActionListener and PhaseListener?

"smithbstl" wrote : 
  | 2.  When I use a tr:inputListOfValues component instead (it encapsulates all the functionality I need) the object I hand back to the page is getting its toString method called instead of correctly referencing a property of the object
  | 
  | 
  |   | <tr:inputListOfValues returnListener="#{requestEntry.processReturn}" 
  |   |                                id="customer_input" 
  |   |                                label="Enter New Customer:" 
  |   |                                value="#{requestEntry.customer.userName}" 
  |   |                                action="dialog:chooseCustomer"/>
  | 
  | The userName property is not being referenced at all and instead the toString method of the customer object is being called instead.  It really makes no sense.  I have outputed the customer object's properties to the console during the ActionEvent of the dialog and again during ReturnListener of the calling form so I know the object is being passed correctly, its just the value property of the inputListOfValues is being weird.
  | 

hmmm...that does sound strange.  I would ask on the Trinidad list.  I tried to use inputListOfValues also but ran into problems trying to make it readonly so I gave up trying to use it for now.  Altough, it almost sounds like it is a Seam issue and can not find the properties correctly.  Can you get the "userName" by using <h:inputText>?

Wish I could help more.  If you figure it out, you might post here so others trying to do something similar can learn from your efforts.

Chris....

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4042196#4042196

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4042196



More information about the jboss-user mailing list