On 02/07/2012 12:44 AM, mohit gupta wrote:
As i said in my original post i do not want to set it
in session. Reason
being is, i am opening two diffeernt wiki popup from parent window in amy
application. So if i set any thing in session in one pop up window its also
visible in another popup window which i dont want.
Here is the starting of problem
i set different request paramter for two wiki pop ups. when i click these
two different links for two different pop ups, i see these parameters
specific to each popup and i set them as attributes in request. but on
further activity on these pop ups i do not get these parameters which i
desperately need(probably xwiki code is using sendredirect though not sure).
i can not set them in session because if i set them they are visible to
both pop ups as session is same and i do not have identifier where i can
identify which session attribute is for which request as class
MyAuthServiceImpl is same. So i have to set them in request specific to
pop ups.
You're confusing the term "request" with something else. A request is
just ONE request, an HTTP GET requested by the client and answered by
the server. "Further activity" means other requests.
Still, there might be something useful for you, thanks to the
awesomeness of XWiki:
maven.xwiki.org/site/xwiki-core-parent/xwiki-core/apidocs/com/xpn/xwiki/XWi…
You'd use it like this:
xwikiContext.setLinksQueryString("customerType=permanent");
This isn't an add* method, so you have to set all the parameters that
you need in one call, like:
xwikiContext.setLinksQueryString("customerType=permanent&customerName=ACME&otherParam=some%20value");
Don't forget to URL-encode the values you put in the URL.
What this does is that all future calls to the various getURL methods,
like XWikiDocument.getURL or XWiki.getURL will automatically append this
string to the query string of the returned URL. If you didn't hard-code
any URLs in the interface, then they should keep transmitting these
parameters for every subsequent request.
This should be called very early in the request processing lifecycle,
since it only affects the getURL calls that come after it, and it won't
modify the URLs already generated.
i am not getting how to get rid of this issue.
On Tue, Feb 7, 2012 at 3:15 AM, Sergiu Dumitriu<sergiu(a)xwiki.com> wrote:
> On 02/06/2012 11:28 AM, mohit gupta wrote:
>
>> i am using xwiki as wiki website for my banking application. i provided a
>> link AppHelp on my application web page. I click this link and it takes me
>> to xwiki
>> application hosted on another tomcat instance.So i get in to
>> MyAuthServiceImpl as i have given the value of
>> xwiki.authentication.**authclass=com.xpn.xwiki.user.**
>> impl.xwiki.MyAuthServiceImpl
>> in xwiki.cfg. Inside this class i set
>> xwikiContext.getRequest().**getHttpServletRequest().**
>> setAttrrbute("customerType","**permanent")
>> and see my wiki welcome page. But now if i do any activity like click on
>> link anywhere on wiki wapplication,i dont get the value of
>> xwikiContext.getRequest().**getHttpServletRequest().**
>> getAttrrbute("customerType").
>> I am sure there must be some way i can configure it from admin user
>> credentials probably in velocity macros and send it as part of request
>> every time.
>>
>> I need it as part of request only not in session.
>>
>
> You're setting the attribute on the request context, which is only valid
> for the current *request*, not for an entire session. You should use
> something like:
>
> xwikiContext.getRequest().**getSession().setAttribute(**name, value)
--
Sergiu Dumitriu
http://purl.org/net/sergiu/