myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Simon Kitching <simon.kitch...@rhe.co.nz>
Subject Re: how do you pass/set parameters upon ActionListener execution?- puzzled
Date Wed, 07 Mar 2007 07:05:19 GMT
Sorry I didn't read the whole mail.

How exactly is "msg" defined?

I don't see here what version of Tomahawk you are working with. For 
version 1.1.3 (which is what I have at hand) the value is fetched just 
using a standard call to "getValue()", so there's nothing special there. 
However afterwards it tries to do some type-conversion:

     Object v = getValue();
     if (v != null &&
         v instanceof String)
     {
         Class type = updateBinding.getType(context);
          ....
     }
     updateBinding.setValue(context, v);

If expression breadCrumbNavigatorBean.displayText doesn't reference a 
String property then there might be a conversion problem. Note that 
exactly what defines a javabean "property" is slightly more complex than 
just having a setter method. For example, the setter must not be static, 
and there must not be a getter method with a conflicting signature. You 
could check by using java.bean.Introspector on this class and verify 
that it does agree that there is indeed a writeable String property 
"displayText". Ok, it's not likely that this is wrong but 
t:updateActionListener is in wide use and there are no known problems 
with it so something odd is going on..

Cheers,

Simon


Madhav Bhargava wrote:
> As I mentioned in point number 2 it works. displayText property in the
> backing bean will get populated with "dummyValue"
> 
> The immediate inference of this result was that there is something wrong
> with my EL expression. But then when I used <t:outputLabel> tag with the
> same EL expression it outputted the correct value.
> 
> This means that there is nothing wrong with the EL expression. The key
> is properly defined in the Messages.properties file as well.
> 
> ~madhav
> 
>> -----Original Message-----
>> From: Simon Kitching [mailto:simon.kitching@rhe.co.nz]
>> Sent: Wednesday, March 07, 2007 12:20 PM
>> To: MyFaces Discussion
>> Subject: Re: how do you pass/set parameters upon ActionListener
>> execution?- puzzled
>>
> 
>> What happens if you do this?
>> <t:updateActionListener
>>   property="#{breadCrumbNavigatorBean.displayText}"
>>   value="dummyValue"/>
>>
> 
>> Madhav Bhargava wrote:
>>> Hi Werner,
>>>
>>> I double checked the jsp and the backing bean but it just refuses to
>>> parse the EL expression.
>>>
>>> This is what I have done:
>>>
>>> *Jsp Code:*
>>>
>>> <t:commandLink value="Add Reminders" styleClass="linkClass"
>>> action="#{reminderController.getExistingRemindersList}"
>>>
>>> actionListener="#{breadCrumbNavigatorBean.updateBreadCrumb}"
>>> rendered="#{!physicianHomeController.showRemindersMoreLink}">
>>>
>>> <t:updateActionListener
>>> property="#{breadCrumbNavigatorBean.displayText}"
>>> value="#{msg['breadcrumb.label.reminders']}"/>
>>>
>>> </t:commandLink>
>>>
>>> In the* backing bean* I just defined a String property with the name
>>> displayText.
>>>
>>>
>>> */Following is the observation:/*
>>>
>>> 1. The displayText in the backing bean is null. In other words the
> EL
>>> expression does not get parsed resulting in a null value.
>>>
>>> 2. If a literal string is given in place of an EL expression then
> the
>>> value is correctly populated in the backing bean.
>>>
>>> 3. Based on the result from point number 2 - I tried just outputting
> the
>>> value of the EL expression using: <t:outputLabel
>>> value="#{msg['breadcrumb.label.reminders']}"
>>> styleClass="outputLabelText"/> The same expression is now parsed
>>> properly and the value appears on the page. This means that there is
>>> nothing wrong with the EL expression.
>>>
>>> I am not sure what is going on? Why will <t:updateActionListener>
> refuse
>>> to parse an EL expression that references a message bundle?
>>>
>>> Regards,
>>>
>>> Madhav
>>>
>>>>  -----Original Message-----
>>>>  From: news [mailto:news@sea.gmane.org] On Behalf Of Werner Punz
>>>>  Sent: Tuesday, March 06, 2007 4:10 PM
>>>>  To: users@myfaces.apache.org
>>>>  Subject: Re: how do you pass/set parameters upon ActionListener
>> execution?
>>>>  I had similar usescases (although not using internationalisation)
>>>>  in my current up a dozend times, the mechanism itself works,
>>>>  I can only guess here,
>>>>  first of all which myfaces version do you use and which tomahawk
>> version.
>>>>  I can recommend to go to the latest 1.1.5 stable and use the
> tomahawk
>>>>  and sandbox nightlies.
>>>>  Secondly check for typos nav.msg.remiders seems like one
>>>>  there is an "n" missing in reminders typowise, which could
>>>>  be the cause for an empty string issued.
>>>>  Werner
>>>>  Madhav Bhargava schrieb:
>>>>  > Hi Werner,
>>>>  >
>>>>  > Yes, you are right. But I still cannot get the values in my
> backing
>>>>  bean.
>>>>  >
>>>>  > *Jsp code:*
>>>>  >
>>>>  > <t:commandLink value="Add Reminders" styleClass="linkClass"
>>>>  > action="#{reminderController.showAddReminderScreen}"
>>>>  >
>>>>  > actionListener="#{breadCrumbNavigatorBean.updateBreadCrumb}"
>>>>  > rendered="#{!physicianHomeController.showRemindersMoreLink}">
>>>>  >
>>>>  > <t:updateActionListener
>>>>  > property="#{breadCrumbNavigatorBean.participant.displayText}"
>>>>  > value="#{msg['nav.msg.remiders']}"/>
>>>>  >
>>>>  > </t:commandLink>
> 
> **************** CAUTION - Disclaimer *****************
> This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely for the
use of the addressee(s). If you are not the intended recipient, please notify the sender by
e-mail and delete the original message. Further, you are not to copy, disclose, or distribute
this e-mail or its contents to any other person and any such actions are unlawful. This e-mail
may contain viruses. Infosys has taken every reasonable precaution to minimize this risk,
but is not liable for any damage you may sustain as a result of any virus in this e-mail.
You should carry out your own virus checks before opening the e-mail or attachment. Infosys
reserves the right to monitor and review the content of all messages sent to or from this
e-mail address. Messages sent to or from this e-mail address may be stored on the Infosys
e-mail system.
> ***INFOSYS******** End of Disclaimer ********INFOSYS***


Mime
View raw message