Xpage does remember applicationScope values in a strange way.
Test scenario:
Create a blank test/xpagetest.nsf application.
Create xpage “put.xsp” with the following code (serverside javascript):
applicationScope.put("Test01","01");
When accessing this page with the url
“http://servername/test/xpagetest.nsf/put.xsp”
the “Test01” is stored in the applicationscope.
Create xpage “show.xsp” has the following code:
Create a computed text with data value (serverside javascript):
applicationScope.values();
Using “http://servername/test/xpagetest.nsf/show.xsp”
shows the cached values, including "Test01"
Using “http://servername/test/Xpagetest.nsf/show.xsp”
shows the cached values, but not "Test01"
The differences between these urls is the capital “X”. It seems that the
applicationScope is based on a case sensitive nsf filename?
Is this a bug, and is there a workaround?
Subject: hmm
I thought all of the URL’s in Xpages are case sensitive. I’m somewhat surprised that the page opened up at all.
Don’t really have much more to add at the moment other then that comment…
Subject: Re: applicationScope variables
I think the key is where the applicationScope variables are stored. If you switch to the Java perspective and navigate to you application, are they stored in one of the properties files?
If so, I think that’s the root of the issue, that it’s not using a Domino URL as we’ve known it in the past and so, as David says, it will be case sensitive. For an individual XPage, foo.nsf/tmp.xsp won’t get you to an XPage called Tmp.xsp. It looks like applicationScope variables may require the filepath also to be case-sensitive.
Subject: the Xpage name is the same, only the application url is different
Calling foo.nsf/tmp.xsp and foo.nsf/Tmp.xsp will give 2 different Xpages. The name of the XPage is case sensitive.
But foo.nsf/tmp.xsp and Foo.nsf/tmp.xsp will give the same page in the same application, only the cached values in the applicationScope are different for the two url’s. And that is strange.
Xpage tmp.xsp is the same Xpage on foo.nsf and Foo.nsf.
For example, only foo.nsf exists on the server, but it is accessible as Foo.nsf, fOO.nsf or FoO.nsf etc…, and each will give a different applicationScope.