Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

jstl access for obj.obj.member

 
Chris Pat
Ranch Hand
Posts: 156
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello
I cant work out the syntax for accessing the member getter of an object of an object in a collection? e.g. objA has a member of class objB which has a member of bValue. How do I construct an EL expression that will allow me to c ut the value of the bValue? tia.
 
Bear Bibeault
Author and ninkuma
Marshal
Pie
Posts: 64631
86
IntelliJ IDE Java jQuery Mac Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Do you have property accessors for each of the items you wish to access?
 
Chris Pat
Ranch Hand
Posts: 156
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Bear Bibeault:
Do you have property accessors for each of the items you wish to access?


Hi
Yes I do, for both objA and objB with objB member getBValue()
 
Paul Clapham
Sheriff
Pie
Posts: 20763
30
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If the name of the property is really "bValue" and that isn't just obfuscated, then you will have to change it. Properties whose name starts with a single lower-case character followed by an upper-case character can't be made to work properly (for reasons that I forget just now). I had the problem with a property named "eMailAddress" and when I renamed it "emailAddress" the problem went away.
 
Chris Pat
Ranch Hand
Posts: 156
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Paul Clapham:
If the name of the property is really "bValue" and that isn't just obfuscated, then you will have to change it. Properties whose name starts with a single lower-case character followed by an upper-case character can't be made to work properly (for reasons that I forget just now). I had the problem with a property named "eMailAddress" and when I renamed it "emailAddress" the problem went away.


Hi Paul
Thanks, but I still dont know the syntax for that second level of indirection. Lets say it is called bvalue. How would I access it

with objA(objB.bvalue) and the results=(Collection) objA
 
Paul Clapham
Sheriff
Pie
Posts: 20763
30
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Start from the left. You have a variable named "result". Does it have a property to get the member of class objA? If not then you're stuck. If it does, then use the property name. Repeat with the object of class objA: does it have a property to get the member of class objB? Etcetera.
 
Stefan Evans
Bartender
Pie
Posts: 1670
10
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If you have the method getBValue() then the attribute exposed is "BValue" and not "bValue"

See the API for method "decapitalize" in the class java.beans.Introspector
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic