When you write #{myBean.salute} , the JSF looks for the salute property. In Java code, it is "translated" to myBean.getSalute(); . In other words, you must provide a getter for this property (and, ultimately, setter if this property can be changed by JSF when it is used, for example, in an input field).
When you write #{myBean.salute()} , you are referring to the salute() method.
The rule is quite simple: use the method when you want to take an action (i.e. usually it will be defined inside the action or actionListener ). In other cases, use the property. In your example, you want to display text on your page, so instead of calling #{myBean.salute()} just call #{myBean.salute} .
For the second point, try changing your code to access the something property instead of the method:
#{bba.b.something}
and in BeanB code:
public String getSomething() { System.out.println("Hello!!!"); return "I am a SessionScopped Backing Bean, my name is 'B' and i am doing something"; }
As for your last point, I think your Eclipse just doesn't handle EL 2.0 syntax.
romaintaz Jul 06 2018-11-11T00: 00Z
source share