I have an action class that has the following method
public WebUser getAuthenticatedUser() ....
The WebUser class has the following methods:
public Employee getEmployee()....
public boolean isEmployee()...
and the WebUser class has the following method
public boolean isWorkgroupEnable()....
In a jsp I use the following tag:
<s:if test="AuthenticatedUser.Employee.workgroupEnable">
Will this call the getEmployee() method or the isEmployee() method?
I ask because this code used to work but is now causing problems. The weird
thing is that the behaviour seems to be different depending upon the
environment.
I have inserted the following debug statements to try and find out what is
happening:
console.log('Authenticated user: <s:property
value="AuthenticatedUser.displayName"/>');
console.log('Employee is: <s:property value="AuthenticatedUser.employee"/>');
// lower case e
console.log('Employee is: <s:property value="AuthenticatedUser.Employee"/>');
// upper case E
console.log('Employee name is: <s:property
value="AuthenticatedUser.Employee.name"/>');
console.log('Employee name is: <s:property
value="AuthenticatedUser.employee.name"/>');
console.log('**Code uses: Is workgroups enabled: <s:property
value="AuthenticatedUser.Employee.workgroupEnable"/>');
On my dev environment (Mac OS X), this produces the following output:
Authenticated user: Insurer Admin -- as expected
Employee is: true
-- isEmployee() method called
Employee is: true
-- isEmployee() method called
Employee name is: --
isEmployee() method called
Employee name is: --
isEmployee() method called
**Code uses: Is workgroups enabled:
which indicates that the isEmployee() method is being called.
However, the exact same war file dropped into our integration server running
Gnu Linux gives the following:
Authenticated user: Insurer Admin -- as
expected
Employee is: true
-- isEmployee() method called
Employee is: idas.chox.core.model.insu...@3 -- getEmployee() method
called
Employee name is: RSD --
getEmployee() method called
Employee name is:
-- isEmployee() method called
**Code uses: Is workgroups enabled: true
which indicates that the isEmployee method is called when a lower case letter
is used, and the getEmployee() method when the uppercase letter is used.
Does anyone have any idea what is causing this different behaviour for the same
code?
This has now been driving me crazy for several days, so any help much
appreciated. Up until a few days ago, the code was also working as expected on
my local (mac os x) environment.
John.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]